# 部件
## **介紹**
Partials包含可重復使用的Twig標記塊,可以在整個網站的任何地方使用。部件對于在不同頁面或布局上重復的頁面元素非常有用。一個很好的部件示例是頁腳,用于不同的[頁面布局](http://www.hmoore.net/followme/octobercms/1073832#3)。此外,[使用AJAX更新頁面內容](http://www.hmoore.net/followme/octobercms/1073832#3)需要部件內容。
部件模板文件駐留在主題目錄的\*\*/ partials**子目錄中。部分文件應具有**htm\*\*擴展名。最簡單的部件示例:
```
<p>This is a partial</p>
```
的[配置](http://www.hmoore.net/followme/octobercms/1073832#3)部分是可選的部件并且可以包含可選的**描述**,其被顯示在后端用戶接口的參數。下一個示例顯示了部件描述:
```
description = "Demo partial"
==
<p>This is a partial</p>
```
部件配置部分還可以包含組件定義。[組件](http://www.hmoore.net/followme/octobercms/1073832#3)在另一篇文章中解釋。
## **渲染部件**
該`{% partial "partial-name" %}`Twig標簽生成的部分。標簽有一個必需參數 - 沒有擴展名的部分文件名。請記住,如果從[子目錄中](http://www.hmoore.net/followme/octobercms/1073832#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功能。有關詳細信息,請參閱[動態頁面](http://www.hmoore.net/followme/octobercms/1073832#3)文檔。
### **部件執行生命周期**
可以在partials的PHP部分中定義特殊函數:`onStart`和`onEnd`。該`onStart`函數在呈現部分之前和執行部分[組件](http://www.hmoore.net/followme/octobercms/1073832#3)之前執行。該`onEnd`函數在呈現部分之前和執行部分[組件](http://www.hmoore.net/followme/octobercms/1073832#3)之后執行。在onStart和onEnd函數中,您可以將變量注入Twig環境。使用`array notation`將變量傳遞給頁面:
```
==
function onStart()
{
$this['hello'] = "Hello world!";
}
==
<h3>{{ hello }}</h3>
```
[標記指南中](http://www.hmoore.net/followme/octobercms/1073832#3)描述了October提供的模板語言。[動態布局](http://www.hmoore.net/followme/octobercms/1073832#3)文章中描述了處理程序執行的整體順序。
### **生命周期限制**
由于它們是在后期實例化的,因此在呈現頁面的過程中,某些限制適用于部分的生命周期。它們不遵循標準執行過程,如[布局執行生命周期中所述](http://www.hmoore.net/followme/octobercms/1073832#3)。應注意以下限制:
1. AJAX事件未注冊,將無法正常運行。
2. 生命周期函數不能返回任何值。
3. 在呈現部分時將發生常規POST表單處理。
通常,partials中的組件使用是為基本組件設計的,這些組件在沒有太多處理的情況下呈現簡單標記,例如*Like*或*Tweet*按鈕。
- 基本說明
- 基本操作
- October cms 安裝
- 后臺控制器路徑
- 圖標
- 獲取安裝網上的插件/主題
- 插件構造器使用
- 定時任務
- October后臺控制器
- vscode編輯器
- ajax操作
- 使用
- ajax更新組件
- ajax屬性API
- JavaScript API
- ajax綜合使用
- 主題
- 多語言主題
- 安裝市場主題
- 主題程序處理
- 主題
- 頁面
- 部件
- 布局
- 內容
- 組件
- 媒體
- 主題表單操作
- 表單使用
- 表單后端程序處理
- 插件
- 自定義插件
- 插件說明
- 插件導航條
- 插件數據庫設置
- 插件的設置管理
- 插件的配置文件config
- 組件
- app服務
- app容器
- 擴展行為
- 緩存
- Collection類
- Lazy Collections
- Collection方法
- 助手函數
- 數組助手函數
- 路徑助手函數
- 玄樂助手函數
- 其他助手函數
- 錯誤與記錄
- 事件處理
- HTML頁面
- 文件與目錄操作
- 散列和加密
- 郵件
- 郵件內容
- 郵件發送
- 分頁
- 模板解析器
- 動態解析器語法
- 隊列消息
- 請求與輸入
- 響應
- 視圖
- 路由器
- 配置
- 驗證操作
- 處理錯誤消息
- 錯誤消息與視圖
- 可用的驗證規則
- 有條件的驗證規則
- 驗證數組
- 錯誤消息
- 自定義驗證規則
- 模型操作
- 定義模型與其屬性
- 檢索模型
- 插入與更新
- 刪除模型
- 查詢范圍
- 事件操作
- 關聯操作
- 定義關系
- 關系類型
- 多肽關系
- 關系查詢
- 渴望加載
- 插入模型
- 數據庫操作
- 基本用法
- 數據表結構
- 查詢連貫操作
- 結果檢索
- select子句
- 插入更新
- where子句
- 排序,分組,限制和偏移
- 文件附件
- Collection操作
- 屬性操作
- 系列化json
- 數據庫屬性
- 數據庫行為
- 控制器
- 后臺控制器定義
- 后臺頁面
- 后臺組件
- 后臺表單
- 表單組件
- 表單視圖
- 表單行為
- 后臺列表
- 列表行為
- 列表過濾器
- 可用列類型
- 關系行為
- 關系行為類型
- 擴展關系行為
- 列表排序操作
- 導入導出操作
- 用于與權限
- corlate模板修改
- 修改頂部導航
- laravel問題
- 控制器不存在
- 控制器
- 路由組
- laravel筆記
- laravel 安裝
- 偽靜態配置
- 依賴注入 & 控制器
- 中間件
- 路由文件
- 視圖