快速业务通道

PHP开发必备PHP模版引擎Dwoo深入学习

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-23

 

  【IT168 专稿】在上一篇关于Dwoo的教程中(PHP开发必备 一步步学PHP模版引擎Dwoo),我们讨论了Dwoo中的基本用法。在本文中,我们将进一步讲解在Dwoo中的一些高级用法,比如插件机制的编写以及如何跟常见的PHP框架整合。

  一、Dwoo中模版的继承

  Dwoo的其中一个强大功能是它可以支持模版的继承。这实现起来是十分简单的,只需要定义好一个父模版,然后子模版则可以继承父模版了,并且可以在子模版中定义多种新的特性。聪明的开发者会善于利用这个特性,去减少重复的劳动。

  Dwoo中继承模版的关键在于“扩展”的插件机制,它允许模版去继承另外一个模版。为了更好地理解这一特性,我们举个例子说明如下。假设目前你已经有一个基类的模版,名字叫base.tpl,其中包含了两个区域,一个是导航区,一个是内容区,如下:

 

<html>
\  <head></head>
\  <body>    
\    {block "nav"}
\    {/block}
\    {block "content"}
\    <div id="content">
\    This is content for the main page.
\    </div>      
\    {/block}
\  </body>
\</html>

 

  现在,假设你的一些页面需要使用水平导航条,你只需要继承基类模版页即可,并且可以重新定义导航条的样式,如下代码,我们把这个代码定义为child.tpl:

 

{extends "base.tpl"}
\  {block "nav"}
\    <div id="nav">
\      <a href="#">Home</a> |
\      <a href="#">News</a> |
\      <a href="#">Weather</a> |
\      <a href="#">Hotels</a> |
\      <a href="#">Dining</a>
\      </tr>
\      </table>
\    </div>
\  {/block}

  这里使用了{extends “base.tpl”}指出是继承了父类的模版,并且在这里的{block “nav”}区域中,重写了导航条的内容,最后输出为如下图:

  

Dwoo中模版的继承

  现在我们考察另外一种情况,假设一些页面中需要额外的子导航菜单,比如需要以垂直形式显示导航条,这时,我们可以采用如下代码:

  extends "child.tpl"}
\
\  {block "nav"}
\    {$dwoo.parent}
\    
\    <div id="sub-nav">
\      <h2>{$subtitle}</h2>
\      <ul>
\      {loop $items}
\          <li><a href="#">{$item}</a></li>      
\      {/loop}
\      </ul>
\    </div>    
\  {/block}
\  
\  {block "content"}
\    <div id="content">
\    This is content for the Dining page.
\    </div>
\  {/block}

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号