zend:对不同的控制器使用相同的索引?
zend : use same index for different controllers?
我刚刚在这里学习 Zend:
我有不同的控制器用于不同的部门来显示相似但不同的信息。
我可以使用相同的索引文件吗?不同的数据在控制器内部确定,所以否则我将复制并粘贴相同的 html 文件...
是的,您可以重复使用模板。你的模板可以按照你喜欢的方式构建,所以在对你有意义的地方创建一个通用的 index.phtml
,然后在你的控制器操作中告诉视图模型使用该模板而不是默认情况下的模板:
class ShoesController extends AbstractActionController
{
public function indexAction()
{
$view = new ViewModel();
$view->setTemplate('some/shared/index.phtml');
return $view;
}
}
并在您的 PantsController
中执行相同的操作。
class BazBatController extends AbstractActionController
{
public function doSomethingCrazyAction()
{
$view = new ViewModel(array(
'message' => 'Hello world',
));
$view->setTemplate('foo/baz-bat/do-something-crazy');
return $view;
}
}
这会在视图模型中设置一个“消息”变量,并设置模板名称“foo/baz-bat/do-something-crazy”。然后返回视图模型。
我刚刚在这里学习 Zend:
我有不同的控制器用于不同的部门来显示相似但不同的信息。
我可以使用相同的索引文件吗?不同的数据在控制器内部确定,所以否则我将复制并粘贴相同的 html 文件...
是的,您可以重复使用模板。你的模板可以按照你喜欢的方式构建,所以在对你有意义的地方创建一个通用的 index.phtml
,然后在你的控制器操作中告诉视图模型使用该模板而不是默认情况下的模板:
class ShoesController extends AbstractActionController
{
public function indexAction()
{
$view = new ViewModel();
$view->setTemplate('some/shared/index.phtml');
return $view;
}
}
并在您的 PantsController
中执行相同的操作。
class BazBatController extends AbstractActionController
{
public function doSomethingCrazyAction()
{
$view = new ViewModel(array(
'message' => 'Hello world',
));
$view->setTemplate('foo/baz-bat/do-something-crazy');
return $view;
}
}
这会在视图模型中设置一个“消息”变量,并设置模板名称“foo/baz-bat/do-something-crazy”。然后返回视图模型。