摘要:概述,此處稱為布局。布局中的配置區(qū)域是可選的,支持和。這里稱為占位符,可以允許頁(yè)面將內(nèi)容注入到布局中。占位符在布局模板中用標(biāo)簽定義。動(dòng)態(tài)布局和一樣,可以使用任何特性。函數(shù)在頁(yè)面呈現(xiàn)后執(zhí)行。
Layout
概述
Layout,此處稱為布局。定義了一個(gè)頁(yè)面框架,即頁(yè)面上的所有的重復(fù)的內(nèi)容,例如header部分和footer部分。Layout通常包含HTML標(biāo)簽、HEAD標(biāo)簽、TITLE標(biāo)簽和BODY標(biāo)簽。
位置:安裝的主題的目錄,layout子目錄中。
擴(kuò)展名:htm
Layout中輸出內(nèi)容應(yīng)該使用page標(biāo)簽進(jìn)行頁(yè)面內(nèi)容輸出。{% page %};最近簡(jiǎn)單的方式:
{% page %}
Page與Layout關(guān)系,Page可以使用不同的Layout,Layout也可以通過(guò)Page來(lái)引用多個(gè)page頁(yè)面。但是,他們之間建立聯(lián)系的是Page中的設(shè)置,然后Layout中的{% page %}才能正確的引用這個(gè)page,才可以通過(guò)Page的URL結(jié)合Layout布局把頁(yè)面顯示出來(lái)。
要為一個(gè)Page使用Layout,Page的Configuration Section部分必須引用Layout文件名稱(不帶擴(kuò)展名)。請(qǐng)記住,如果從子目錄引用Layout,則應(yīng)指定子目錄名稱。使用default.htm的Layout的示例頁(yè)面模板:
url = "/" layout = "default" ==Hello, world!
當(dāng)請(qǐng)求該頁(yè)面時(shí),其內(nèi)容與Layout合并,或者更確切地說(shuō) - Layout的{% page %}標(biāo)簽被頁(yè)面內(nèi)容替換。前面的示例會(huì)生成以下標(biāo)記:
Hello, world!
請(qǐng)注意,您可以在Layout中渲染部件。這使您可以在不同的Layout之間共享常用元素。例如,您可以有一個(gè)輸出網(wǎng)站CSS和JavaScript鏈接的部件。這種方法簡(jiǎn)化了資源的管理。 如果你想添加一個(gè)JavaScript引用,你應(yīng)該修改一個(gè)小部件,而不是編輯所有的Layout。
布局中的配置區(qū)域是可選的,支持name和description。
description = "Basic layout example" == {% page %}
Placeholders
Placeholders這里稱為【占位符】,可以允許頁(yè)面將內(nèi)容注入到布局中。占位符在布局模板中用{% placeholder %}標(biāo)簽定義。下面的例子顯示了一個(gè)在HTML HEAD部分中定義了一個(gè)叫head的【占位符】的Layout模板。
{% placeholder head %} ...
頁(yè)面可以使用{% put %}和{% endput %}標(biāo)簽將內(nèi)容注入【占位符】。以下示例演示了一個(gè)簡(jiǎn)單的頁(yè)面模板,它將CSS鏈接注入前一示例中定義的叫head占位符。
url = "/my-page" layout = "default" == {% put head %} {% endput %}The page content goes here.
動(dòng)態(tài)布局
和Page一樣,Layout可以使用任何Twig特性。
布局的執(zhí)行生命周期
布局中的PHP代碼部分,可以定義頁(yè)面周期函數(shù):
onInit當(dāng)所有組件被初始化并且在處理AJAX請(qǐng)求之前,該函數(shù)被執(zhí)行。
onStart功能在頁(yè)面處理開(kāi)始時(shí)執(zhí)行。
onBeforePageStart函數(shù)在Layout組件運(yùn)行后執(zhí)行,但在頁(yè)面的onStart函數(shù)執(zhí)行之前執(zhí)行。
onEnd函數(shù)在頁(yè)面呈現(xiàn)后執(zhí)行。
處理程序執(zhí)行的順序如下:
Layout onInit() function.
Page onInit() function.
Layout onStart() function.
Layout components onRun() method.
Layout onBeforePageStart() function.
Page onStart() function.
Page components onRun() method.
Page onEnd() function.
Layout onEnd() function.
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/28825.html
摘要:前言三欄布局,顧名思義就是兩邊固定,中間自適應(yīng)。三欄布局在實(shí)際的開(kāi)發(fā)十分常見(jiàn),比如淘寶網(wǎng)的首頁(yè),就是個(gè)典型的三欄布局即左邊商品導(dǎo)航和右邊導(dǎo)航固定寬度,中間的主要內(nèi)容隨瀏覽器寬度自適應(yīng)。但網(wǎng)格布局的兼容性不好。 前言 三欄布局,顧名思義就是兩邊固定,中間自適應(yīng)。三欄布局在實(shí)際的開(kāi)發(fā)十分常見(jiàn),比如淘寶網(wǎng)的首頁(yè),就是個(gè)典型的三欄布局:即左邊商品導(dǎo)航和右邊導(dǎo)航固定寬度,中間的主要內(nèi)容隨瀏覽器寬...
摘要:前言三欄布局,顧名思義就是兩邊固定,中間自適應(yīng)。三欄布局在實(shí)際的開(kāi)發(fā)十分常見(jiàn),比如淘寶網(wǎng)的首頁(yè),就是個(gè)典型的三欄布局即左邊商品導(dǎo)航和右邊導(dǎo)航固定寬度,中間的主要內(nèi)容隨瀏覽器寬度自適應(yīng)。但網(wǎng)格布局的兼容性不好。 前言 三欄布局,顧名思義就是兩邊固定,中間自適應(yīng)。三欄布局在實(shí)際的開(kāi)發(fā)十分常見(jiàn),比如淘寶網(wǎng)的首頁(yè),就是個(gè)典型的三欄布局:即左邊商品導(dǎo)航和右邊導(dǎo)航固定寬度,中間的主要內(nèi)容隨瀏覽器寬...
摘要:前言三欄布局,顧名思義就是兩邊固定,中間自適應(yīng)。三欄布局在實(shí)際的開(kāi)發(fā)十分常見(jiàn),比如淘寶網(wǎng)的首頁(yè),就是個(gè)典型的三欄布局即左邊商品導(dǎo)航和右邊導(dǎo)航固定寬度,中間的主要內(nèi)容隨瀏覽器寬度自適應(yīng)。但網(wǎng)格布局的兼容性不好。 前言 三欄布局,顧名思義就是兩邊固定,中間自適應(yīng)。三欄布局在實(shí)際的開(kāi)發(fā)十分常見(jiàn),比如淘寶網(wǎng)的首頁(yè),就是個(gè)典型的三欄布局:即左邊商品導(dǎo)航和右邊導(dǎo)航固定寬度,中間的主要內(nèi)容隨瀏覽器寬...
摘要:解決的問(wèn)題圣杯布局和雙飛翼布局解決的問(wèn)題是一樣的,就是兩邊定寬,中間自適應(yīng)的三欄布局,中間欄要在放在文檔流前面以優(yōu)先渲染。 解決的問(wèn)題 圣杯布局和雙飛翼布局解決的問(wèn)題是一樣的,就是兩邊定寬,中間自適應(yīng)的三欄布局,中間欄要在放在文檔流前面以優(yōu)先渲染。 圣杯布局 圣杯布局dom結(jié)構(gòu): 圣杯布局 ...
閱讀 3178·2021-10-08 10:04
閱讀 1127·2021-09-30 09:48
閱讀 3498·2021-09-22 10:53
閱讀 1717·2021-09-10 11:22
閱讀 1729·2021-09-06 15:00
閱讀 2183·2019-08-30 15:56
閱讀 740·2019-08-30 15:53
閱讀 2318·2019-08-30 13:04