Home >Backend Development >PHP Tutorial >tp框架开发中 如何把模板共有的模块公用

tp框架开发中 如何把模板共有的模块公用

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOriginal
2016-06-06 20:06:351022browse

比如网站的 顶部菜单 和底部的不变的部分 如何 共用 是用模板继承还是 什么吗方法可以 谢谢回答

回复内容:

比如网站的 顶部菜单 和底部的不变的部分 如何 共用 是用模板继承还是 什么吗方法可以 谢谢回答

我一般是用模板继承的,例如我把头部,尾部文件写在base.html里

<code>

...


....
<block name="main">
      <div class="container">
        .....
      </div>
   </block> 
<block name="footer">
    <footer class="footer">
      <div class="container">
        <p class="text-muted"></p>
<center>Copyright by XXXXXX</center>
      </div>
    </footer>
   </block> 

</code>

然后在你的网站页面直接继承这个base.html就可以了,比如我这个页面是test.html

<code><extend name="Public:base"></extend>
<block name="main">
....
</block>
<block name="footer">
.....
</block></code>

这样可以改你要变化的部分,而且尽量使代码可以重复使用

还有可以给你看看我的文件放置的位置吧
tp框架开发中 如何把模板共有的模块公用

谢邀吧,其实我不怎么会写php

不过秉承"组合优于继承"的原则,我个人认为如果tp里有include之类的关键字可用的话,通过组合的方式写模板更灵活。

当然因为我压根不会tp,所以分析未必准确,仅供参考

自带的模版引擎有include标签

正确的方式是使用布局,而不是使用仅仅include包含,每个布局是所有页面的最大公约数内容,即这个布局文件里面的内容是,所有页面都拥有的内容:头部,导航,尾部,甚至面包屑,其他页面继承这个布局即可

如果存在多种布局,例如有的页面头部有区别,这种情况可以使用另外一种布局,或者对头部进行拆分,并在布局中,使用include包含

伪代码:

所有页面都继承该布局:

<code>
  <div class="all">
    <div class="top">
      include:public/top [顶部]
      include:public/header [头部]
      include:public/menu [菜单]             
    </div>
    <div class="middle">
      <block name="main"></block>
    </div>
    <div class="clear"></div>
    <div style="margin-top:20px"></div>
    <div class="footer">     
        include 'public/copyright'  [关于我们]
        include 'public/copyright'  [版权信息]
    </div>
  </div>     
</code>

最简洁的方法是在view的Public下建header和footer,view下建layout.html,在layout中include header和footer,中间变化内容用{_CONTENT_},在配置文件中开启layout_on => true和layout_name => 'layout',具体使用方法请在手册模版布局那里看关于layout使用方法

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn