资讯专栏INFORMATION COLUMN

OctoberCMS-5-部件

tianren124 / 3254人阅读

摘要:我们这里简称部件,是可以重复使用的标记块。使用将变量传递给页面声明周期限制由于部件的实例化时间比较晚,在页面渲染期间,部件的生命周期会受到一些限制。事件没有被注册,不能执行。生命周期函数不能返回任何值。

Partials

partials 我们这里简称【部件】,是可以重复使用的Twig标记块。可以用于网站的任何位置。比如页眉页脚或者其他Ajax内容。

partials模板文件存储在模板目录的partials子目录中。扩展名是htm。最简单的例子:

This is a partial

partials 的配置部分是可选的,其中可选参数description,用于给后端用户提供功能说明。

description = "Demo partial"
==

This is a partial

在配置部分可以定义组件,将在后续的组件部分学习。

部件的渲染

渲染部件的方式:{% partial "partial-name" %} 。这里只有一个必须的参数,就是【文件名】这里的文件名是指文件的名称部分,不包含扩展名部分。如果在子目录中,则需要写明路径。部件可以被页面、布局或者其他部件使用。

下面就是一个部件引用了另一个部件。



将变量传递给部件

部件的一个强大的功能是,我们可以给部件传递变量参数。比如我们拥有一个渲染博客列表的部件,我们可以将帖子的集合传递给中国博客列表部件。这时候这个部件就可以使用到多个不同的页面或者布局中。传递方式:部件名称 后面 跟 部件的变量名和传递值得变量名:


当然也可以一次指定多个变量,进行传递


在部件的内部,可以和使用其他标记变量一样的,使用这些变量。

Country: {{ country }}, city: {{ city }}.

动态部件

部件和页面一样,也可以使用Twig标记。

部件的执行生命周期

onStart函数在部件渲染之前和部分执行之前执行。

onEnd函数在部件渲染之前和部件执行之后执行。

在onStart和onEnd函数中,您可以将变量注入到Twig环境中。使用array notation将变量传递给页面:

==
function onStart()
{
    $this["hello"] = "Hello world!";
}
==

{{ hello }}

声明周期限制

由于部件的实例化时间比较晚,在页面渲染期间,部件的生命周期会受到一些限制。

AJax事件没有被注册,不能执行。

生命周期函数不能返回任何值。

表单常规的POST操作在部件渲染的时候执行。

一般来讲,部件中的组件一般设计为基本组件,用来渲染一些没有复杂处理的情况,比如按钮等。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/28826.html

相关文章

  • Dojo 部件进阶

    摘要:如果为,则渲染生命周期中相关的回调特别是和渲染回调函数是同步运行的。如果为,则在下一次重绘之前,回调函数被安排为异步运行。更改检测策略,确定应用程序是否需要更新外部的节点是一个可选的回调函数,在节点追加到后执行检测外部节点的 部件的基本原理 部件是所有 Dojo 应用程序的基本构建要素。部件是主要的封装单元,它能表示从用户界面的单个元素,到更高级别的容器元素(如 Form 表单、段落、...

    draveness 评论0 收藏0
  • Flutter — 加快开发速度的 IDE 快捷操作#yyds干货盘点#

    摘要:夏天加快开发速度的快捷操作干货盘点快捷方式你可以用做更多神奇的事情选项返回这是您在中加快开发速度的魔杖。加快开发速度的快捷操作干货盘点选项卡不喜欢小部件用魔术棒取下它。 Flutter — 加快开发速度的 IDE 快捷方式上一个关于​​vscode 的插件​​推荐大家看的过瘾不,今天继续给大家带来一些关于android s...

    番茄西红柿 评论0 收藏2637
  • Dojo 中间件简介

    摘要:的中间件系统能以响应式的方式管理异步或命令式,以及影响基于函数的组合部件或其他中间件的行为与属性。控制部件渲染的生命周期对任何组合部件,中间件可以控制渲染管道的各个部分,如当需要更新渲染时让部件失效。 Dojo 的中间件系统能以响应式的方式管理异步或命令式 API,以及影响基于函数的组合部件或其他中间件的行为与属性 API。 框架已提供了几个核心中间件和可选中间件,应用程序开发人员也可...

    warmcheng 评论0 收藏0
  • Yii2.0 框架中如何创建自定义小部件

    摘要:在创建自己的小部件首先创建一个名为的文件夹在项目根目录。应该包含小部件的属性应该包含小部件的渲染结果这个类是我们的自定义小部件。在显示小部件内容在视图代码中使用添加小部件应用。看到以下代码如何被称为小部件类。 在 Yii2.0 创建自己的小部件 首先创建一个名为 widgets 的文件夹在项目根目录。现在在 widgets文件夹内创建一个HelloWidget类 。使用这个小部件,我们...

    zhangxiangliang 评论0 收藏0
  • Flutter 中轮播图详解[Flutter专题31]#yyds干货盘点#

    在 Flutter 中创建图像轮播 从社交媒体应用程序到电子商务应用程序,大多数现代应用程序都有某种图像轮播来展示产品、图像或广告。 由于 flutter 提供的内置小部件,从头开始实现图像轮播并不像您想象的那么难。 在本文中,您将学习如何从头开始创建图像轮播并根据需要进行自定义。最后,您将学习如何使用carousel_slider插件以更少的代码创建图像轮播。 这些是我...

    番茄西红柿 评论0 收藏2637

发表评论

0条评论

最新活动
阅读需要支付1元查看
<