thinkphp 模版繼承的使用

注意事項:

1、在當前子模板中,只能定義區塊而不能定義其他的模板內容,否則將會直接忽略

Paste_Image.png

2、thinkphp3.2.3默認不支持<block>標簽嵌套


項目中一個使用實例

1、Public目錄下
  • base.html
<!DOCTYPE html>
<html lang="en">
<!-- 引入公共頭部文件 -->
<block name="include_header">
    <include file="Public:head" />
</block>

<body>
    <!-- 搜索 -->
    <include file="Public:top" />
    <!-- 內容區 -->
    <block name="content">
    </block>
    <!-- 引入公共頭部文件 -->
    <block name="include_footer">
        <include file="Public:footer" />
    </block>
</body>

</html>
  • top.html
<div class="search-content">
    <div class="search-con">
        <form method="post" action="#">
            <h3>搜索感興趣的內容</h3>
            <p>
                <input type="text" placeholder="請輸入搜索內容" />
            </p>
            <p>
                <input id="btn" type="submit" value="確定" />
            </p>
        </form>
    </div>
</div>
<header class="head" class="clearfix">
    <div class="logo">![](__PUBLIC__/Home/images/logo.png)</div>
    <div class="sidenav clearfix">
        <!-- 導航欄 -->
        <block name='include_nav'>
            <include file="Public:nav" />
        </block>
        <div class="search">![](__PUBLIC__/Home/images/search.png)</div>
        <div class="subnav">![](__PUBLIC__/Home/images/nav.png)</div>
    </div>
</header>

top.html文件里也有個block區塊
<block name='include_nav'><include file="Public:nav" /></block>

  • nav.html
<nav>
    <ul>
        <li class="current"><a class="cur" href="index.html">首頁</a><i></i></li>
        <li class="current"><a class="cur" href="index.html">關于我們</a><i></i></li>
        <li class="current"><a class="cur" href="index.html">招賢納士</a><i></i></li>
        <li class="current"><a class="cur" href="index.html">聯系我們</a><i></i></li>
    </ul>
</nav>
  • head.html 和 footer.html文件只是引入公共css、js文件
2、其他視圖頁面繼承基礎模版
  • Home/ContactController.class.php
<?php
namespace Home\Controller;
use Think\Controller;
class ContactController extends Controller {
    public function index(){
        $config = C('nav_info');
        $current_nav_id = $config[9]['id'];

        $banner_img = M('nav')->where(array('id'=>$current_nav_id))->getfield('pic');
        $contact_info = M('contact')->find();

        $this->assign(
            array(
                'nav_id'        =>  $current_nav_id,//渲染當前頁面的id
                'banner_img'        =>  $banner_img,
                'contact_info'      =>  $contact_info,
                ));
        $this->display();
    }
}
  • Home/View/Contact/index.html
<extend name="Public:base" />
<block name='content'>
    <div class="banner">
        ![](__PUBLIC__/{$banner_img})
    </div>
    <div class="contact">
        <h2>![](__PUBLIC__/Home/images/contact-tit.png)</h2>
        <h3>{$contact_info.contact_name}</h3>
        <div class="hr02"></div>
        <div>
            {$contact_info.contact_content}
        </div>
    </div>
    </div>
</block>
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • # 一度蜜v3.0協議 --- # 交互協議 [TOC] ## 協議說明 ### 請求參數 下表列出了v3.0版協...
    c5e350bc5b40閱讀 672評論 0 0
  • 昨天有事耽擱了,今天會一并補上!
    辛昳閱讀 236評論 0 0
  • preference - settings preference - key bindings {"bootstr...
    kruuuuuuust閱讀 3,339評論 0 0
  • 大霧連夜建造出山隱 山隱的樹林來不及對著雨水仔細裝扮 窗格里的眼睛 看見單翅鳥飛走了 山隱里的樹林 讓我想起一個老...
    同行之人閱讀 355評論 0 6
  • 十月,涼風習習,正是出行最舒服的時節。錯開了人山人海的十一黃金周,帶上燊燊,我們開始了一次靜心之旅。 ...
    女王大人_閱讀 1,137評論 0 0