amteich/kirby-twig

该软件包已被弃用且不再维护。作者建议使用 wearejust/kirby-twig 软件包。

为 Kirby CMS 提供的 Twig 模板支持

安装量: 21,317

依赖项: 0

建议者: 0

安全性: 0

星级: 49

关注者: 4

分支: 9

开放性问题: 1

类型:kirby-plugin

4.2.3 2022-12-19 16:16 UTC

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() }}

选项

您可以在 选项文档 中找到完整的选项列表。

更多文档

许可

MIT

致谢