亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

布局模板三種方式

Original 2019-04-06 22:56:36 452
abstract:第一種:全局配置模式適用于全站使用相同布局的情況,需要在config中配置開啟layout_on參數(shù),默認(rèn)是不開啟的,還有設(shè)置入口文件名,默認(rèn)是layout;<?phpreturn [    //調(diào)試模式    'APP_DEBUG' => true,    //模板的布局    '

第一種:全局配置模式


適用于全站使用相同布局的情況,需要在config中配置開啟layout_on參數(shù),默認(rèn)是不開啟的,還有設(shè)置入口文件名,默認(rèn)是layout;



<?php

return [


    //調(diào)試模式

    'APP_DEBUG' => true,

    //模板的布局

    'template'  => [

        'layout_on'     =>  true,

        'layout_name'   =>  'layout'

    ]

];

layout_on開啟之后,從控制器fetch(‘index’)渲染后,本來不會直接渲染index.html文件,而是會到自定義的layout.html文件中去渲染,在其中會出現(xiàn)一個{_CONTENT_},這個就代表了要渲染的index模板文件,是將index的內(nèi)容替換了{(lán)_CONTENT_}內(nèi)容;



{include file='header' /}

{__CONTENT__}

{include file='footer' /}

這樣,我就可以實現(xiàn)頭尾分離,直接在index.html文件中寫內(nèi)容了;


如果某些頁面不需要使用布局模板功能,可以在模板文件開頭加上 {__NOLAYOUT__} 字符串;




第二種:模板標(biāo)簽方式


這種方式要關(guān)閉layout_on,負(fù)責(zé)會出現(xiàn)布局循環(huán);


直接添加


{layout name="layout" /}

一個模板文件中只能使用一個布局模板,如果模板文件中沒有使用任何layout標(biāo)簽則表示當(dāng)前模板不使用任何布局;


如果需要其他的布局模板,只要改變name值即可,也可以指定要替換的特定字符串:


{layout name="Layout/newlayout" replace="[__REPLACE__]" /}


第三種:使用內(nèi)置的layout方法控制模板布局


這種方式適用于局部需要布局或者關(guān)閉布局的情況,也不需要開啟layout_on方法;



public function index(){

    $this->view->engine->layout(true);

    return $this->fetch();

}

上面這種采用的是默認(rèn)的布局模板,也就是name名為layout的html,替換的字符也是磨人的{_CONTENT_};


如果要使用自定義的,只要在layout()函數(shù)中傳值即可;


$this->view->engine->layout('newLayout');

如果已經(jīng)開啟了全局,要關(guān)閉頁面的布局模板,也可以使用這個方法關(guān)閉它:


$this->view->engine->layout(false);


Correcting teacher:天蓬老師Correction time:2019-04-08 10:12:08
Teacher's summary:布局其實是在模板繼承的更加層級的抽象, 大多情況下, 模板繼承基本上已經(jīng)滿足要求了, 也更靈活

Release Notes

Popular Entries