1. 从子目录引用部分或内容文件
{% partial "blog/category-list" %}
2.页面,部分和布局模板最多可以包含3个部分:配置,PHP代码和Twig标记。部分用==
序列分隔
url = "/blog"
layout = "default"
==
function onStart()
{
$this['posts'] = ...;
}
==
<h3>Blog archive</h3>
{% for post in posts %}
<h4>{{ post.title }}</h4>
{{ post.content }}
{% endfor %}
3.url
十进制组件访问
url = "/blog/post/:post_id"
从页面PHP部分访问URL参数
url = "/blog/post/:post_id" == function onStart() { $post_id = $this->param('post_id'); } ==
参数可选
url = "/blog/post/:post_id?"
正则表达式来验证参数
url = "/blog/:post_id|^[0-9]+$/comments" - this will match /blog/post/10/comments
url = "/blog/:category*/:slug"
例如,像这样的URL /color/:color/make/:make*/edit
将匹配/color/brown/make/volkswagen/beetle/retro/edit
并提取以下参数值:
- 颜色:
brown
- 使:
volkswagen/beetle/retro
onInit
当所有组件被初始化并且处理AJAX请求之前,该函数被执行。
onStart
函数在页面执行的开始执行。
onEnd
函数在页面呈现之前和页面组件执行之后执行。
4.处理表格
您可以使用页面或布局PHP部分中定义的处理程序方法处理标准表单(处理AJAX请求在AJAX框架文章中进行了说明)。使用form_open()函数来定义引用事件处理程序的窗体
{{ form_open({ request: 'onHandleForm' }) }} Please enter a string: <input type="text" name="value"/> <input type="submit" value="Submit me!"/> {{ form_close() }} <p>Last submitted value: {{ lastValue }}</p>
onHandleForm函数可以在页面或布局PHP部分中以下列方式定义:function onHandleForm() { $this['lastValue'] = post('value'); }
处理程序使用函数加载值,post
并初始化第lastValue
一个示例中窗体下方显示的页面属性变量
注意:如果在页面布局中定义了具有相同名称的处理程序,则页面和页面组件 10月将执行页面处理程序。如果在组件和布局中定义了处理程序,则将执行布局处理程序。处理程序的优先级是:页面,布局,组件。
如果要引用特定组件中定义的处理程序,请使用处理程序引用中的组件名称或别名:
{{ form_open({ request: 'myComponent::onHandleForm' }) }}