承接 amteich/kirby-twig 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

amteich/kirby-twig

最新稳定版本:4.2.3

Composer 安装命令:

composer require amteich/kirby-twig

包简介

Twig templating support for Kirby CMS

README 文档

README

Twig Plugin for Kirby CMS

  • Adds support for Twig templates to Kirby CMS (3.0+).
  • PHP templates still work, you don’t have to rewrite them if you don’t want to.

What it looks like

Before:

<?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>

After:

{# site/templates/hello.twig #}
<h1>{{ page.title }}</h1>
<ul>
{% for child in page.children() %}
  <li><a href="{{ child.url }}">{{ child.title }}</li>
{% endfor %}
</ul>

Installation

Download

Download and copy this repository to /site/plugins/kirby-twig.

Git submodule

git submodule add https://github.com/amteich/kirby-twig.git site/plugins/kirby-twig

Composer

composer require amteich/kirby-twig

Usage

Page templates

Now that the plugin is installed and active, you can write Twig templates in the site/templates directory. For example, if the text file for your articles is named post.txt, you could have a post.twig template like this:

{% extends 'layout.twig' %}
{% block content %}
  <article>
    <h1>{{ page.title }}</h1>
    {{ page.text.kirbytext | raw }}
  </article>
{% endblock %}

See the {% extends '@templates/layout.twig' %} and {% block content %} parts? They’re a powerful way to manage having a common page layout for many templates, and only changing the core content (and/or other specific parts). Read our Twig templating guide for more information.

Hint: Accessing pagemethods instead of public variables

Twig calls to specific methods, like for instance page.children sometimes return NULL. This can occur, if there is also a public variable which is only initialized after calling the corresponding method.

{{ page.children }} returns NULL, because the public variable is returned. Please call the method instead like this: {{ page.children() }}.

Options

You can find a full list of options in the options documentation.

More documentation

License

MIT

Credits

  • Maintainer: Christian Zehetner
  • Twig library: Fabien Potencier and contributors / License
  • Twig plugin for Kirby 2: Florens Verschelde

统计信息

  • 总下载量: 22.62k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 49
  • 点击次数: 1
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 49
  • Watchers: 4
  • Forks: 9
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2021-02-24