Php Zend Framework 2-无法显示右视图,始终显示layout/layout.phtml

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

我是Zend Framework 2的新手

我有几个模块,当用户启动应用程序时,我想显示RecruiteCore模块,这就是为什么我目前唯一的路线是“路线”=>“/”, 这是我的招聘核心模块module.config.php:

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框架中的布局: