Php Zend Framework 2-无法显示右视图,始终显示layout/layout.phtml
我是Zend Framework 2的新手 我有几个模块,当用户启动应用程序时,我想显示RecruiteCore模块,这就是为什么我目前唯一的路线是“路线”=>“/”, 这是我的招聘核心模块module.config.php:Php Zend Framework 2-无法显示右视图,始终显示layout/layout.phtml,php,zend-framework2,Php,Zend Framework2,我是Zend Framework 2的新手 我有几个模块,当用户启动应用程序时,我想显示RecruiteCore模块,这就是为什么我目前唯一的路线是“路线”=>“/”, 这是我的招聘核心模块module.config.php: return array( 'router' => array( 'routes' => array( 'home' => array( 'type' => 'Zend
return array(
'router' => array(
'routes' => array(
'home' => array(
'type' => 'Zend\Mvc\Router\Http\Literal',
'options' => array(
'route' => '/',
'defaults' => array(
'controller' => 'RecruitCore\Controller\Index',
'action' => 'index',
),
),
),
),
),
'controllers' => array(
'invokables' => array(
'RecruitCore\Controller\Index' => 'RecruitCore\Controller\IndexController',
),
),
'view_manager' => array(
'display_not_found_reason' => true,
'display_exceptions' => true,
'doctype' => 'HTML5',
//'not_found_template' => 'error/404',
//'exception_template' => 'error/index',
'template_path_stack' => array(
__DIR__ . '/../view',
),
),
);
我在src/createcore/Controller/IndexController中有一个IndexController,它带有一个被调用的方法indexAction,因为我的调试消息被触发。但它不显示view/recruit core/index/index.phtml布局,而是始终显示layout/layout.phtml。有趣的是,当我删除view/recruit core/index/index.phtml时,我会收到一条错误消息,但除此之外,没有其他对view/recruit core/index/index.phtml的确认
因此,也许我在module.config.php中遗漏了一些东西,Zend Framework使用了两步布局。首先,对于控制器操作,渲染视图。这是完整html文档的“内部部分”。然后渲染布局。这是另一个视图脚本,它是html文档的“外部部分” 例如,布局可能如下所示:
视图脚本可以如下所示:
你好,世界!
同侧眼睑
视图的内容被注入布局的$content
变量中
现在,请提供更多关于您想法的信息。默认情况下,ZF2将布局/layout.phtml
呈现为布局。对于视图脚本,它是顶级模块名称、控制器名称和操作方法的组合
您的模块名为recruitecore
,因此第一个目录名为recruitecore
。您的控制器名为IndexController
,因此第二个目录名为index
。您的方法是indexAction
,因此最后您的视图脚本解析为recruit code/index/index
基本上,您要问的是ZF2的正确行为。这一点也在本文中进行了解释。如果需要,可以替代视图脚本和布局名称 你的问题有点让人困惑。默认情况下,视图应显示在布局中,因此始终显示布局是正常的。您的布局应该在其中的某个位置回响
$this->content
(这是显示视图的位置)-您的布局中有这样一行吗?有关示例,请参见ZF2框架中的布局: