在我正在构建的应用程序中,我希望有一个很好的页脚,其中包含数据库(标签)和联系表单中的数据。所有部分都是脚本化的,但现在我想把它们放在一起。 页脚的元素对于每个加载的页面都是相同的,只有内容不同。
如何在不必在每个控制器上放置太多代码的情况下执行此操作?
答案 0 :(得分:1)
使用view helpers。为每个动态信息(如标记)创建帮助程序。然后你可以直接在视图上输出它。这可以避免控制器中不必要的代码。
以下是标签的示例。创建一个包含以下内容的Tags.php
文件:
class Zend_View_Helper_Tags extends Zend_View_Helper_Abstract {
public function tags() {
// build an array with all the tags and return it
}
}
现在在你的footer.phtml
上你可以使用它:
<?php $allTags = $this->tags();
foreach ($allTags as $tag) { ?>
<a href="<?php echo $tag['url']; ?>"><?php echo $tag['name']; ?></a>
<?php } ?>
您可以使用partialLoop()
来获得更清晰的视图。
答案 1 :(得分:0)
将内容分配给视图变量,只要它有所不同,然后根据该视图变量打印页脚内容。
答案 2 :(得分:0)
实现此目的的最佳方法实际上是使用Zend_Layout组件来实现两步视图模式。这意味着你正常渲染你的常规视图,但是你有Zend_Layout获取该输出并将其放在一个整体模板中。整个模板将是您放置页脚的位置。 Zend_Layout Quick Start