Mic*_*chi 8 zend-framework zend-view
我想使用Zend_Layout生成一个动态网站.
我的布局(/application/layouts/scripts/layout.phtml)包含以下行:
...
<body>
<?php echo $this->render('header.phtml') ?>
<div id="content"><?php echo $this->layout()->content ?></div>
<?php echo $this->render('footer.phtml') ?>
</body>
...
Run Code Online (Sandbox Code Playgroud)
如果我浏览到我的索引控制器索引操作 - Zend会自动在$ this-> layout() - >内容中呈现索引视图(application/views/scripts/index/index.phtml).
现在我想在布局中呈现不同控制器动作的视图.所以我生成一个新的控制器auth,其中包含一个显示登录表单的操作登录.
我将布局更改为:
...
<body>
<?php echo $this->render('header.phtml') ?>
<div id="content"><?php echo $this->layout()->content ?></div>
<div id="login"><?php echo $this->layout()->login ?></div>
<?php echo $this->render('footer.phtml') ?>
</body>
...
Run Code Online (Sandbox Code Playgroud)
当我浏览索引/索引时,我想在这个动作中定义zend应该在$ this-> layout() - > login中呈现auth/login视图,例如在$ this-> layout()中的新闻/列表 - >内容.
index/index比一种页面布局 - 而auth/login和news/list是一种小部件
这该怎么做?
第一个建议是不惜一切代价避免使用Action视图助手,无论如何它可能会在ZF 2.0中删除.(ZF-5840)(为什么动作堆是邪恶的)
这与我问的一个问题有关- 而bittarman的答案非常有用.实现类似功能的最佳方法是拥有一个可以生成"登录"区域的视图助手. My_View_Helper_Login例如.然后您的布局可以调用$this->login(),查看脚本也可以调用user/login.只要index/index将内容从news/list请求转发到控制器的其他控制器/动作即可. $this->_forward('list', 'news');
| 归档时间: |
|
| 查看次数: |
33496 次 |
| 最近记录: |