mvo / contao-twig
将您的 Contao php 模板替换为 Twig 模板。
v1.1.1
2021-02-28 17:40 UTC
Requires
- php: >=7.4
- contao/core-bundle: ^4.9
- symfony/twig-bundle: ^4.4 || ^5.0
- webmozart/path-util: ^2.3
Requires (Dev)
- contao/manager-plugin: ^2.0
- contao/test-case: ^4.1
- friendsofphp/php-cs-fixer: ^2.16
- phpstan/phpstan: ^0.11.8
- phpunit/phpunit: ^8.0
Conflicts
- contao/manager-plugin: <2.0 || >=3.0
This package is auto-updated.
Last update: 2024-08-28 20:14:38 UTC
README
如何使用
-
确保您已设置
twig.default_path
。例如:twig: default_path: '%kernel.project_dir%/templates'
-
将您想要提供的模板版本放入您的模板目录中(可以是任何子目录)。名称与 Contao 模板相同,但文件扩展名为
.html.twig
而不是.html5
。例如,将
ce_downloads.html.twig
文件放入templates/Contao
下。 -
重建您的缓存(文件系统在编译过程中扫描模板)。
注意:为了获得更好的开发体验,您的模板将始终在 dev 环境中加载。
就这样。您的新模板现在已经被渲染。它具有与现有 Contao 模板相同的上下文(
Template->getData()
)。✨
注意事项
由于 Contao 使用输入编码,您需要自行处理已编码的变量,方法是添加 |raw
过滤器。谨慎使用,并确保您知道自己在做什么。
一些 Contao 模板包含不会被 Twig 评估的闭包 - 如果您想使用它们,请将它们包裹在与此捆绑包一起提供的 fn()
函数中。这将简单地执行它们并返回 'safe' 输出(无需 |raw
)。
示例
{# templates/Contao/ce_downloads.html.twig #} <div class="ce_downloads --this-looks-nice"> <ul> {% for file in files %} <li class="ext-{{ file.extension }}"> <a href="{{ file.href|raw }}" title="{{ file.title }}" type="{{ file.mime }}"> {{ file.link }} <span>({{ file.filesize }})</span> </a> </li> {% endfor %} </ul> </div>