模板

October CMS Documentation Docs

模板

October 扩展了 Twig 模板语言 (opens new window) 增加了许多函数、标签、过滤器和变量。这些扩展允许您使用 CMS 功能并访问模板内的页面环境信息。

# 变量

模板变量使用**打印在页面上。

___TWIG0___

变量也可以表示表达式。

___TWIG0___

变量可以与 ~ 字符连接。

___TWIG0___

October 在 this 变量下提供了全局变量,如 变量 部分所列。

# 标签

标签是 Twig 的一项独特功能,并用 {% %} 字符包裹。

___TWIG0___

标签提供了一种更流畅的方式来描述模板逻辑。

___TWIG0___
    呆在里面
___TWIG1___
    出去玩
___TWIG2___

{% set %} 标签可用于在模板内设置变量。

___TWIG0___

标签可以采用许多不同的语法,并列在标签部分下。

# 过滤器

过滤器充当单个实例变量的修饰符,并使用管道符号后跟过滤器名称来应用。

___TWIG0___

过滤器可以像函数一样接受参数。

___TWIG0___

过滤器可以连续应用。

___TWIG0___

过滤器列在Filters部分下。

# 函数

函数允许执行逻辑并且返回结果充当变量。

___TWIG0___

函数可以接受参数。

___TWIG0___

函数列在 Functions 部分下。

# 访问逻辑

了解 Twig 最重要的是它如何访问 PHP 层。为方便起见,{{ foo.bar }} 对 PHP 对象进行以下检查:

  1. 检查 foo 是否为数组,bar 是否为有效元素。
  2. 如果不是,并且如果 foo 是一个对象,请检查 bar 是否是一个有效属性。
  3. 如果不是,并且如果 foo 是一个对象,请检查 bar 是否是一个有效的方法(即使 bar 是构造函数 - 使用 __construct() 代替)。
  4. 如果不是,并且如果foo是一个对象,检查getBar是一个有效的方法。
  5. 如果不是,并且如果 foo 是一个对象,请检查 isBar 是否是一个有效的方法。
  6. 如果不是,则返回一个 null 值。

# 不支持的功能

Twig 提供的某些功能在October不支持。它们列在下面的等效功能旁边。

标签相等的
{% extend %}使用 布局 (opens new window) 或者 {% placeholder %}
{% include %}使用 {% partial %} 或者 {% content %}