发布网友 发布时间:2022-04-12 00:25
共1个回答
热心网友 时间:2022-04-12 01:54
这些部分几乎在每一个部分都可以重用...所Zend Framework 就提供我们一个组件Zend_Layout,它让我们可以把这些重复的东西写在一个共用的文件里(这里暂时先这样叫).也就可以说是一个页面的布局里.通过这个组件,我们就可以省去很多重复的工作..让我们专心在程序开发上..同时对以后的代码维护也带来很大的方便!第一步:初始化Zend_Layout.当您打算要使用Zend_Layout时.您需要在你的入口文件(index.php)或是在你需要的控制器里先初始化Zend_Layout,让它和MVC一起使用.在这里startMvc()可以带一个可选的数组或Zend_Config 对象来定制实例,有利于你对不同的页面使用不同的Layout.这样的话用起来可以更方便,灵活.第二步:建立你的Layout模板.你都可以设置的.. 这个layout文件内容就是把你设计的网站有相同部分,可以重用的内容放在这里..页面代码基本如下(代码内有注解):<html<head<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /<!-- 这里页面body内容,这里会变--<?php echo $this-layout()-content ?</div<div id="sidebar"<!-- 这里页面侧边内容,可以重用,内容不变--<?php echo $this-layout()-sidebar; ?</div<div id="footer"<!-- 这里页面页脚内容,可以重用,内容不变--<?php echo $this-layout()-footer; ?</div</body</html第三步:在控制器里设置你共用代码的内容.你要在的布局存放你取到的数据或是其它内容时..你就需要设置这个内容.并让它可以在你的View页面呈现也来.这里我们只要做以下步骤:代码如下(代码内有注解):<?phpclass IndexController extends Zend_Controller_Action{//这控制器里调用Layoutfunction indexAction(){$response = $this-getResponse();//sidebar.phtml,footer.phtml都是//公共部分.这二个页面分别会替换掉Layout里面的二个变量$response-insert('sidebar', $this-view-render('sidebar.phtml'));$response-insert('footer', $this-view-render('footer.phtml'));}?总结:当我们完成以上步骤时.我们就可以运用Zend_Layout.只要我们在所需用要的控制器里写上下面这代码..程序就会自动调用我们设定好的Layout.哈哈...不要担心..你只要在你的控制器里写上这代码$this-_helper-layout-setLayout('newLayout');你就可以把你原来的Layout给换掉.如此一来你的网站就变成另一个版形了...这样是不是很方便啊?呵呵.~~~~