如何根据路线包含页面。路线示例:page_to_be_included
页面应该像这样包含在视图中:
<?php
if (...){
include 'page_to_be_included';
}
else {
show something else
}
?>
如何在另一个视图中包含一个视图?
答案 0 :(得分:0)
也许你的意思是包含一个视图脚本(另一个控制器)?
$viewmodel = new ViewModel();
$page = $this->forward()->dispatch('thecontroller', array(
'action' => 'youractionname',
));
$viewmodel->addChild($page, 'page');
答案 1 :(得分:0)
在大多数情况下,每条路线都应该引导自己的行动,然后每个动作都可以设置它的视图(或者只是使用默认路径)。
如果多于一条路线导致相同的操作,您可以检查控制器中的路径并根据以下内容设置视图:
if ( $this->getEvent()->getRouteMatch()->getMatchedRouteName() == 'the_route_name' ) {
$viewModel = new ViewModel();
$view->setTemplate('what/ever/page');
return $viewModel->setVariables(array('var2pass'=>'hi'));
}
答案 2 :(得分:0)
我认为你的意思是你想把部分放在你的视野中。如果你想这样做,只需在视图中使用partia()
视图帮助器,并指定部分字符串路径。
让我们假设您的Test模块的文件夹结构如下:module \ Test \ view \ partial \ name-of-partial.phtml
$this->partial('partials/name-of-partial');