koolreport / twig
允许 KoolReport 使用 twig 模板引擎渲染视图
1.0.0
2019-06-01 06:15 UTC
Requires
- twig/twig: ^2.0
This package is auto-updated.
Last update: 2024-09-11 00:00:10 UTC
README
概述
从 4.0.0 版本开始,KoolReport 支持其他模板引擎,而不仅仅是自己的视图文件模板。 Twig
是 KoolReport 支持的流行模板引擎之一。
安装
通过下载 .zip 文件
- 下载
- 解压 zip 文件
- 将文件夹
twig
复制到koolreport
文件夹中,使其看起来如下所示
koolreport ├── core ├── twig
通过 composer
composer require koolreport/twig
开始使用
步骤 1: 将 twig 服务添加到您的报告
class Report extends \koolreport\KoolReport
{
use \koolreport\clients\Bootstrap;
use \koolreport\twig\Engine;
protected function twigInit()
{
$loader = new \Twig\Loader\FilesystemLoader(dirname(__FILE__).'/views');
$twig = new \Twig\Environment($loader);
return $twig;
}
...
}
步骤 2: 在 views
文件夹中创建视图 report.html
,如下所示
<html>
<head>
<title>Welcome to Twig</title>
</head>
<body>
<h1>Welcome to Twig</h1>
{{
widget('koolreport.widgets.koolphp.Table',{
dataSource:report.dataStore("data"),
})
}}
</body>
</html>
步骤 3: 您可以使用以下代码行运行您的报告
$report = new Report;
$report->run()->render("report.html");
恭喜,现在您可以使用 Twig 设计您的报告。
一些说明
- 在您的模板中,您使用参数
report
来引用报告对象 - 当使用函数
widget()
生成 KoolReport 的小部件时,您应将类名中的反斜杠\
更改为点"."
,例如,将\koolreport\widgets\koolphp\Table
更改为koolreport.widgets.koolphp.Table
- 您可以使用
report.dataStore("datastore_name")
引用任何数据源
限制
由于 Twig
不允许 PHP 在其中运行,因此存在一些限制。这限制了 KoolReport 小部件的一些功能,例如定义匿名函数。例如,无法像这样在表小部件中定义自定义函数来格式化值。
Table::create(array(
...
"columns"=>array(
"id"=>array(
"formatValue"=>function($value)
{
return "<a href='$value'>View</a>";
}
)
)
))
简单地说,无法将上述 PHP 代码转换为 twig 中的 JSON 定义。
资源
支持
如果您需要支持,请使用 我们的论坛,这样其他人也可以从中受益。如果支持请求需要隐私,您可以发送电子邮件至 support@koolreport.com。