hypejunction / hypetwig
此包已被放弃,不再维护。没有建议的替代包。
Twig 模板集成
1.1.1
2018-07-07 12:13 UTC
Requires
- php: >=5.5
- composer/installers: ~1.0
- twig/twig: ^2.4
This package is not auto-updated.
Last update: 2020-01-18 13:41:38 UTC
README
为 Elgg 添加对 twig 模板的支持
使用模板
要添加 twig 模板,只需将一个扩展名为 .twig
的文件添加到您的插件视图的 default
视图类型中。
<!-- my_plugins/views/default/test.twig --> <div class="hello">{{ Hello, {{ name }}</div>
要渲染模板,请使用 `elgg_twig()`
$user = elgg_get_logged_in_user_entity(); echo elgg_twig('test', ['name' => $user->getDispayName()];
您可以像任何其他视图一样覆盖模板,但不能使用钩子扩展或过滤它们。
开发
为了简化开发,将 environment
配置值设置为 development
,否则您需要刷新缓存以重新加载模板更改。
elgg_set_config('environment', 'development');
全局变量
模板中可用的全局变量
-
app
- 应用程序数据app.user
- 登录用户实体app.site
- 网站实体app.registrationUrl
- 注册 URLapp.loginUrl
- 登录 URL
-
faker
- 假数据生成器 (https://github.com/fzaninotto/Faker)
函数
模板中可用的函数
echo()
- 等同于elgg_echo()
view()
- 等同于elgg_view()
assetUrl()
- 等同于elgg_get_simplecache_url()
requireJs()
- 等同于elgg_require_js()
formatHtml()
- 等同于elgg_format_html()
menu()
- 等同于elgg_view_menu()
备注
最初我教了 elgg_view()
来渲染 twig 模板,但它对性能产生了负面影响,这可能是由于所有视图都注册了 view_vars
钩子。在存在通配符钩子注册之前,elgg_twig()
是一种选择,但它不允许过滤视图变量或扩展视图,这在最终结果中是一种胜利,因为简单。