【发布时间】:2012-05-29 02:30:42
【问题描述】:
我有 Zend Framework MVC 应用程序,其模块结构与上述类似:
/application
/layouts
/sripts
/layout.phtml
/modules
/default
/controllers
/IndexController.php
/OtherController.php
/views
/scripts
/index
/index.phtml
/second.phtml
/third.phtml
/fourth.phtml
/other
/index.phtml
/second.phtml
/third.phtml
/fourth.phtml
在我的 layout.phtml 中有一行
<div id="main">
<?= $this->layout()->content ?>
</div>
我想在 IndexController 和 OtherController 的每个动作中包装渲染的动作视图,除了第四个,用一些代码,比如<div id='top'></div>在开始,<div id='bottom'></div>在渲染动作视图的末尾。
我不想在每个操作视图 *.phtml 文件中手动执行此操作。实际应用中实在太多了,除了代码看起来乱七八糟的解决方案。
怎么做?
【问题讨论】:
-
您可以使用一个或多个action helpers 来完成此操作。听起来您的布局中有很多代码可以推入placeholders 或view helpers
标签: php model-view-controller zend-framework