Zend重用视图
|
对于我创建的每个新控制器和操作,Zend都希望模板文件位于“ 0”中。但是,我希望多个操作共享一个模板,可以将数据库中的文本注入到该模板中。
我目前使用布局,并使用
echo $this->layout()->content
委派页面特定的视图。我尝试了以下方法:
class SomeController extends Zend_Controller_Action{
public function someAction() {
$path = $this->view->getScriptPath();
$this->view = new Zend_View();
$this->view->setScriptPath($path);
$this->view->render(\'default.phtml\');
}
}
但是,我得到一个错误,即在路径中找不到脚本\'some / some.phtml \'。如何正确执行此操作?
没有找到相关结果
已邀请:
2 个回复
糕泰灌
参见Zend_Controller_Action :: render render(string | null $ action = null,string | null $ name = null,bool $ noController = false):无效 渲染视图 渲染视图。默认情况下,视图在视图脚本路径中以/.phtml找到。您可以通过重置{@link $ viewSuffix}来更改脚本后缀。您可以通过为$ noController指定boolean true来省略控制器目录前缀。 默认情况下,渲染的内容会附加到响应中。您可以通过指定$ name来指定要设置的命名主体内容段。 如果要提供特定的脚本,请使用
参见Zend_Controller_Action :: renderScript renderScript(字符串$ script,字符串$ name = null):void 渲染给定的视图脚本 与{@link render()}类似,此方法呈现视图脚本。但是,与render()不同,它不会通过{@link getViewScript()}自动确定视图脚本,而是呈现传递给它的脚本。如果您知道要使用的确切视图脚本名称和路径,或者使用的路径不符合使用getViewScript()定义的规范,请使用此名称。 默认情况下,渲染的内容会附加到响应中。您可以通过指定$ name来指定要设置的命名主体内容段。
玩翁文醚碱
这将查找/views/scripts/approval/index.phtml视图,而不是默认的/views/scripts/book/save-book.phtml视图。