注意事項:
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"></div>
<div class="sidenav clearfix">
<!-- 導航欄 -->
<block name='include_nav'>
<include file="Public:nav" />
</block>
<div class="search"></div>
<div class="subnav"></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">

</div>
<div class="contact">
<h2></h2>
<h3>{$contact_info.contact_name}</h3>
<div class="hr02"></div>
<div>
{$contact_info.contact_content}
</div>
</div>
</div>
</block>