hp的模板继承,通俗一点,就是设定一个模板布局,继承的子类,都要按照这个模板展示。
1,可以把公共部分直接加载在父极模板,在后续的网页加载过成中,直接加载子模块,子模块按照模板规则,在给定的地方展示出来。
2,公共部分的输出,直接输出到分开的公共部分,后续跳页的过程中,直接改变需要改变的模块。
1,在view层下,建立一个模板文件夹(常用名Base),用于存放模板
2,在view层下,建立一个公共文件夹(常用名Public),用于存放网站的公共部分
3,在view层下,建立其他文件夹,存放各个网页,输出直接访问这些页面。
View/Base:
//-----------------------模板设计-----------------------------
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<title>TITLE</title>
<block name="link>
<!--需要连接的css文件-->
</block>
<block name="js">
<!--需要连接的js文件-->
</block>
</head>
<body>
<block name="header">
<!--将公共部分包含进来,需要绝对路径-->
<include file="./application/Home/View/Public/header.html"/>
</block>
<block name="page_title">
<include file="./application/Home/View/Public/page_title.html"/>
</block>
<block name="left">
<!--需要加载的主要部分-->
</block>
<block name="right">
<include file="./application/Home/View/Public/right.html"/>
</block>
<block name="footer">
<include file="./application/Home/View/Public/footer.html"/>
</block>
</body>
</html>
//---------------------------end---------------------------
//--------------------------公共部分------------------------
thinkphp控制器公共部分构造函数直接加载在这里,然后用<include file=""/>导入即可(如上)
<header id="top">
<div class="wrapper">
<div id="title"><img SRC="__PUBLIC__/HomeStyle/img/logo.png" alt="Administry" /></div>
<nav id="menu">
<ul class="sf-menu">
<li class="current"><a HREF="__MODULE__/Index/index">首页</a></li>
<li>
<a HREF="styles.html">寻宝</a>
<ul>
<li>
<a HREF="styles.html">日本成人动作片</a>
</li>
<li>
<a href="#">欧美成人动作片</a>
<ul>
<li><a HREF="samples-files.html">异性诱惑</a></li>
<li><a HREF="samples-products.html">同性诱惑</a></li>
</ul>
</li>
</ul>
</li>
<foreach name="classList" item="val">
<li class="current" ><a HREF="__MODULE__/Class/index?id={$val.id}">{$val.name}</a></li>
</foreach>
</ul>
</nav>
</div>
</header>
//-----------------------------------end------------------------------
//---------------------------------加载页面----------------------------
//首先继承模板
<extend name="Base/base">
<block name="link">
//放入本页面需要连接的css文件
<link rel="shortcut icon" type="image/png" HREF="__PUBLIC__/HomeStyle/img/favicons/favicon.png"/>
</block>
<block name="js">
//js文件
<block name="js"/>
<script type="text/javascript" SRC="__PUBLIC__/HomeStyle/js/swfobject.js"></script>
</block>
<block name="left">
//需要加载的页面
html写入即可
</block>
//---------------------------------end----------------------------------
1.加载也如果某些模块需要加载,一定要注明name的值
2. 如果是公共部分,需要用导入公共部分文件
3.如果加载页面继承了公共部分,只需要用,标签中的name属性指明那个模块,不需要改动的模块,则不需要写入,因为继承的过程中,已经继承到本页面
4,注意name,file,的写法。
5,一般情况下,公共部分控制器利用构造方法直接将数据制定输出到公共部分,然后需要其他控制器继承,继承之后,直接操作其他页面即可。
6,接触php几个月了,对于一些小问题,都做一些小小的总结,方便自己不熟的情况下查询以及初学者们查询。如有错误不当之处,请批评指正。大家共同学习。