mvo/contao-twig

将您的 Contao php 模板替换为 Twig 模板。

安装次数: 2,627

依赖: 0

建议者: 0

安全: 0

星星: 7

关注者: 4

分支: 0

开放问题: 1

类型:contao-bundle

v1.1.1 2021-02-28 17:40 UTC

README

如何使用

  1. 确保您已设置 twig.default_path。例如:

    twig:
      default_path: '%kernel.project_dir%/templates' 
  2. 将您想要提供的模板版本放入您的模板目录中(可以是任何子目录)。名称与 Contao 模板相同,但文件扩展名为 .html.twig 而不是 .html5

    例如,将 ce_downloads.html.twig 文件放入 templates/Contao 下。

  3. 重建您的缓存(文件系统在编译过程中扫描模板)。

    注意:为了获得更好的开发体验,您的模板将始终在 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>