amteich / kirby-twig
4.2.3
2022-12-19 16:16 UTC
Requires
- getkirby/composer-installer: ^1.1
- twig/twig: ^3.4
README
Kirby CMS 的 Twig 插件
- 为 Kirby CMS (3.0+) 添加对 Twig 模板 的支持。
- PHP 模板仍然有效,如果您不想重写它们,就不必重写。
外观
之前
<?php /* site/templates/hello.php */ ?> <h1><?= $page->title() ?></h1> <ul> <?php foreach ($page->children() as $child): ?> <li><a href="<?= $child->url() ?>"><?= $child->title() ?></li> <?php endforeach; ?> </ul>
之后
{# site/templates/hello.twig #} <h1>{{ page.title }}</h1> <ul> {% for child in page.children() %} <li><a href="{{ child.url }}">{{ child.title }}</li> {% endfor %} </ul>
安装
下载
下载并将此存储库复制到 /site/plugins/kirby-twig
。
Git 子模块
git submodule add https://github.com/amteich/kirby-twig.git site/plugins/kirby-twig
Composer
composer require amteich/kirby-twig
使用方法
页面模板
现在插件已安装并激活,您可以在 site/templates
目录中编写 Twig 模板。例如,如果您的文章文本文件命名为 post.txt
,则可以有一个这样的 post.twig
模板
{% extends 'layout.twig' %} {% block content %} <article> <h1>{{ page.title }}</h1> {{ page.text.kirbytext | raw }} </article> {% endblock %}
看到 {% extends '@templates/layout.twig' %}
和 {% block content %}
部分?它们是管理许多模板具有共同页面布局的强大方式,只需更改核心内容(和/或其他特定部分)。有关更多信息,请参阅 我们的 Twig 模板指南。
提示:使用 pagemethods 而不是公共变量访问
Twig 对特定方法的调用,例如 page.children
,有时会返回 NULL
。如果也存在仅在调用相应方法之后初始化的公共变量,则可能会发生这种情况。
{{ page.children }}
返回 NULL
,因为返回了公共变量。请像这样调用方法:{{ page.children() }}
。
选项
您可以在 选项文档 中找到完整的选项列表。
更多文档
许可
致谢
- 维护者: Christian Zehetner
- Twig 库:Fabien Potencier 及贡献者 / 许可证
- Kirby 2 的 Twig 插件:Florens Verschelde