Zend Framework 2 View Manager - 查看文件和请求的操作匹配

时间:2013-02-28 14:18:19

标签: zend-framework2 zend-framework-mvc

我想制作自动匹配视图文件 - 控制器操作。

如果请求/Web/TestController/testAction(模块/控制器/操作),

ZF2尝试加载此视图:/web/test/test

然后,我必须将此行添加到template_map以使其正常工作:

'web/test/test'     => __DIR__ . '/../view/pages/test/test.phtml',

但我不想为所有行动添加这一行。

它可以像这样工作:

'web/{ABC}/{XYZ}'     => __DIR__ . '/../view/pages/{ABC}/{XYZ}.phtml',

如何制作它以便自动匹配?

module.config.php:

return array(
    'router' => array(
        'routes' => array(
            'web' => array(
                'type' => 'segment',
                'options' => array(
                    'route' => '[/:action]',
                    'constraints' => array(),
                    'defaults' => array(
                        'controller' => 'Web\Controller\Test',
                    ),
                )
            )
        )
    ),


    'view_manager' => array(

        'display_not_found_reason'  => true,
        'display_exceptions'        => true,
        'doctype'           => 'HTML5',
        'not_found_template'        => 'error/404',
        'exception_template'        => 'error/index',

        'template_map'              => array(

            'layout/test'       => __DIR__ . '/../view/layouts/test/test.phtml',
            'layout/default'    => __DIR__ . '/../view/layouts/default/default.phtml',
            'error/404'         => __DIR__ . '/../view/error/404.phtml',
            'error/index'       => __DIR__ . '/../view/error/index.phtml',

            'web/test/test'     => __DIR__ . '/../view/pages/test/test.phtml',
        ),

        'template_path_stack' => array(
            __DIR__ . '/../view',
        ),

        'layout'                    => 'layout/default'
    ),
);

1 个答案:

答案 0 :(得分:0)

您应该将“页面”目录重命名为“ web ”并更改配置文件,如下所示

'web/test/test'     => __DIR__ . '/../view/web/test/test.phtml',