????:首先先看一張網(wǎng)頁(yè)在頁(yè)面中無(wú)論我們?cè)趺袋c(diǎn)擊左邊的菜單欄頁(yè)面改變的只是紅框中的內(nèi)容這就是利用模版繼承來(lái)實(shí)現(xiàn)的說(shuō)道繼承即必須有兩個(gè)以上的模版用一個(gè)繼承另外一個(gè)這里我們用三個(gè)網(wǎng)頁(yè)來(lái)說(shuō)明tp中我把模版的后綴改為了.php不過(guò)不影響,bootstrap.php模版用來(lái)加載bootstrap和jqueryhead.php模版用來(lái)加載頭文件index.php是子模版用來(lái)繼承head.php模版他們的目錄結(jié)構(gòu)是首先
首先先看一張網(wǎng)頁(yè)在頁(yè)面中無(wú)論我們?cè)趺袋c(diǎn)擊左邊的菜單欄頁(yè)面改變的只是紅框中的內(nèi)容這就是利用模版繼承來(lái)實(shí)現(xiàn)的
說(shuō)道繼承即必須有兩個(gè)以上的模版用一個(gè)繼承另外一個(gè)
這里我們用三個(gè)網(wǎng)頁(yè)來(lái)說(shuō)明
tp中我把模版的后綴改為了.php不過(guò)不影響,
bootstrap.php模版用來(lái)加載bootstrap和jquery
head.php模版用來(lái)加載頭文件
index.php是子模版用來(lái)繼承head.php模版
他們的目錄結(jié)構(gòu)是
首先模版繼承是可以加載外部文件的我們?cè)趆ead.php模版中使用
{block name="include"}{include file="Public:bootstrap" /}{/block}
就相當(dāng)于包含了文件bootstrap.php文件
在index.php模版中我們使用
{extend name="public/head" /}就已經(jīng)繼承了模版head.php
此時(shí)我們打開(kāi)index.php時(shí)結(jié)果和打開(kāi)head時(shí)是相同的,如果我們要更改模版中的內(nèi)容我們只要對(duì)相應(yīng)的塊進(jìn)行重載就可以了就像這樣
{block name="body"}
<a class="btn btn-danger" href="#" role="button">短信驗(yàn)證</a>
<a class="btn btn-info" href="#" role="button">按鈕</a>
{/block}
打開(kāi)index相當(dāng)于打開(kāi)
{block name="include"}{include file="public:bootstrap" /}{/block}
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>首頁(yè)</title>
</head>
<body>
{block name="left"}{/block}
{block name="right"}{/block}
{block name="body"}
<a class="btn btn-danger" href="#" role="button">短信驗(yàn)證</a>
<a class="btn btn-info" href="#" role="button">按鈕</a>
{/block}
</body>
</html>
在index中子模板中,可以對(duì)基礎(chǔ)模板中的區(qū)塊進(jìn)行重載定義,如果沒(méi)有重新定義的話,則表示沿用基礎(chǔ)模板中的區(qū)塊定義,如果定義了一個(gè)空的區(qū)塊,則表示刪除基礎(chǔ)模板中的該區(qū)塊內(nèi)容。 上面的例子,我們就把body區(qū)塊的內(nèi)容更改了,其他的區(qū)塊都進(jìn)行了不變。
?? ???:西門大官人?? ??:2019-03-03 10:53:35
???? ??:理解和總結(jié)的很不錯(cuò)。其實(shí)所謂的繼承,最后是在子頁(yè)面中include了父頁(yè)面而已