[TOC]
## **介紹**
Partials包含可重復使用的Twig標記塊,可以在整個網站的任何地方使用。部件對于在不同頁面或布局上重復的頁面元素非常有用。一個很好的部件示例是頁腳,用于不同的[頁面布局](#3)。此外,[使用AJAX更新頁面內容](#3)需要部件內容。
部件模板文件駐留在主題目錄的**/ partials**子目錄中。部分文件應具有**htm**擴展名。最簡單的部件示例:
~~~
<p>This is a partial</p>
~~~
的[配置](#3)部分是可選的部件并且可以包含可選的**描述**,其被顯示在后端用戶接口的參數。下一個示例顯示了部件描述:
~~~
description = "Demo partial"
==
<p>This is a partial</p>
~~~
部件配置部分還可以包含組件定義。[組件](#3)在另一篇文章中解釋。
## **渲染部件**
該`{% partial "partial-name" %}`Twig標簽生成的部分。標簽有一個必需參數 - 沒有擴展名的部分文件名。請記住,如果從[子目錄中](#3)引用partial,則應指定子目錄名稱。該`{% partial %}`標簽可以在里面的網頁時,布局或另一局部使用。引用部分的頁面示例:
~~~
<div class="sidebar">
{% partial "sidebar-contacts" %}
</div>
~~~
## **將變量傳遞給部件**
您會發現通常需要將變量傳遞給外部代碼的部分變量。這使得局部更有用。例如,您可以使用部分呈現博客帖子列表。如果您可以將帖子集合傳遞給部分,則可以在博客存檔頁面,博客類別頁面等上使用相同的部分。您可以通過在`{% partial %}`標記中的部分名稱后指定變量來將變量傳遞給部件:
~~~
<div class="sidebar">
{% partial "blog-posts" posts=posts %}
</div>
~~~
您還可以分配新變量以在partial中使用:
~~~
<div class="sidebar">
{% partial "sidebar-contacts" city="Vancouver" country="Canada" %}
</div>
~~~
在部件內部,可以像任何其他標記變量一樣訪問變量:
~~~
<p>Country: {{ country }}, city: {{ city }}.</p>
~~~
## **動態部件**
部分(如頁面)可以使用任何Twig功能。有關詳細信息,請參閱[動態頁面](#3)文檔。
### **部件執行生命周期**
可以在partials的PHP部分中定義特殊函數:`onStart`和`onEnd`。該`onStart`函數在呈現部分之前和執行部分[組件](#3)之前執行。該`onEnd`函數在呈現部分之前和執行部分[組件](#3)之后執行。在onStart和onEnd函數中,您可以將變量注入Twig環境。使用`array notation`將變量傳遞給頁面:
~~~
==
function onStart()
{
$this['hello'] = "Hello world!";
}
==
<h3>{{ hello }}</h3>
~~~
[標記指南中](#3)描述了October提供的模板語言。[動態布局](#3)文章中描述了處理程序執行的整體順序。
### **生命周期限制**
由于它們是在后期實例化的,因此在呈現頁面的過程中,某些限制適用于部分的生命周期。它們不遵循標準執行過程,如[布局執行生命周期中所述](#3)。應注意以下限制:
1. AJAX事件未注冊,將無法正常運行。
2. 生命周期函數不能返回任何值。
3. 在呈現部分時將發生常規POST表單處理。
通常,partials中的組件使用是為基本組件設計的,這些組件在沒有太多處理的情況下呈現簡單標記,例如*Like*或*Tweet*按鈕。
- 安裝程序
- 安裝
- 配置
- CMS
- 主題
- 頁面
- 部件
- 布局
- 內容
- 組件
- 媒體
- 標記指南
- AJAX
- 介紹
- 事件處理
- 更新部件
- 數據屬性API
- JavaScript API
- 額外特征
- 主題
- 開發主題
- 插件
- 注冊
- 版本
- 使用Composer
- 構建組件
- 設置和配置
- 本地化
- 任務調度
- 擴展插件
- 后臺
- 控制器和AJAX
- 視圖和部件
- 小工具
- 表單
- 列表
- 關聯
- 重新排序
- 導入導出
- 用戶和權限
- 用戶界面指南
- 數據庫
- 基本用法
- 結構
- 查詢構造器
- 模型
- 關聯
- 附件
- 集合
- 訪問器和修改器
- 序列化
- 特性
- 行為
- 服務
- 應用
- 行為
- 緩存
- 集合
- 錯誤&日志
- 事件
- 表單&HTML
- 文件系統/CDN
- 哈希&加密
- 助手函數
- 郵件
- 分頁
- 分析器
- 隊列
- 請求&輸入
- 響應&視圖
- 路由
- Session
- 驗證
- 控制臺
- 命令
- 腳手架
- 開發
- API文檔
- 附錄
- 單元測試
- 質量指南
- 開發指南