0

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

如果/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',

我如何让它自动匹配?

模块.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'
    ),
);
4

1 回答 1

0

您应该将“ pages ”目录重命名为“ web ”并将配置文件更改如下

'web/test/test'     => __DIR__ . '/../view/web/test/test.phtml',
于 2013-02-28T15:13:31.170 回答