Zend framework2 在布局ZF2中调用多个Zend视图
我必须在zend中创建一个主题,它有不同的部分,如侧栏中的登录部分、侧栏中的在线用户部分和主内容区域Zend framework2 在布局ZF2中调用多个Zend视图,zend-framework2,Zend Framework2,我必须在zend中创建一个主题,它有不同的部分,如侧栏中的登录部分、侧栏中的在线用户部分和主内容区域 我想的是为每个部分创建一个不同的view.phtml文件,并在zend layout上调用它。但是我不知道如何在ZF2中的layout.phtml中调用多个视图。如果您不需要为每个小部件运行不同的操作,您可以拆分HTML并使用如下所示的include: <?php echo $this->doctype(); ?> <html lang="en"> <hea
我想的是为每个部分创建一个不同的view.phtml文件,并在zend layout上调用它。但是我不知道如何在ZF2中的layout.phtml中调用多个视图。如果您不需要为每个小部件运行不同的操作,您可以拆分HTML并使用如下所示的include:
<?php echo $this->doctype(); ?>
<html lang="en">
<head></head>
<body>
<?php include('includes/header.phtml'); ?>
<?php echo $this->content?>
<?php include('includes/footer.phtml'); ?>
</body>
</html>
如果您需要每个小部件都有不同的逻辑,那么您必须使用Michael Gallego(Sam提到)的优秀文章中所述的设置。如果您不需要为每个小部件运行不同的操作,您只需拆分HTML并使用如下所示的include:
<?php echo $this->doctype(); ?>
<html lang="en">
<head></head>
<body>
<?php include('includes/header.phtml'); ?>
<?php echo $this->content?>
<?php include('includes/footer.phtml'); ?>
</body>
</html>
如果您需要每个小部件背后有不同的逻辑,则必须使用Michael Gallego(Sam提到)的优秀文章中所述的设置。从布局中调用
(或$this->partial
,请参阅)以呈现多个视图脚本
但是,请注意,您运行的所有ViewScript都将在原始控制器/操作的上下文中执行。如果您需要一个操作将数据注入到一个定期小部件的视图中,例如一个侧栏,我通常创建一个扩展Zend_Controller_action
的类,让我们称之为Anup_Controller_action
,然后将我的所有视图控制器都基于该类。在Anup\u Controller\u Action
的preDispatch
方法中,然后将数据注入视图。例如:
public function Anup_Controller_Action extends Zend_Controller_Action
{
public function preDispatch ($options = null)
{
$this->view->loggedIn = true;
}
}
然后,当您从布局或viewscript调用
时,您将始终可以访问$this->loggedIn
变量。从布局调用
(或$this->partial
,请参阅)以呈现多个视图脚本
但是,请注意,您运行的所有ViewScript都将在原始控制器/操作的上下文中执行。如果您需要一个操作将数据注入到一个定期小部件的视图中,例如一个侧栏,我通常创建一个扩展Zend_Controller_action
的类,让我们称之为Anup_Controller_action
,然后将我的所有视图控制器都基于该类。在Anup\u Controller\u Action
的preDispatch
方法中,然后将数据注入视图。例如:
public function Anup_Controller_Action extends Zend_Controller_Action
{
public function preDispatch ($options = null)
{
$this->view->loggedIn = true;
}
}
然后,当您从布局或viewscript调用
时,您将始终可以访问$this->loggedIn
变量。好了:我使用了与上述链接中所述相同的上述代码。但我遇到了一个致命错误。致命错误:未捕获异常“Zend\ServiceManager\exception\ServiceNotFoundException”,消息“Zend\ServiceManager\ServiceManager::get无法获取或创建MeteoService的实例”,在别名MeteoService
指向的复选框中,检查命名空间、类名,ETC给你:我使用了与你上面链接中描述的相同的代码。但是我得到了一个致命的错误。致命错误:未捕获异常“Zend\ServiceManager\exception\ServiceNotFoundException”,消息为“Zend\ServiceManager\ServiceManager::get无法获取或创建MeteoService的实例”,在别名MeteoService
指向的复选框中,检查命名空间、类名等