1

我已经看到了所有已经讨论过的关于这个主题的链接,但似乎对我不起作用,因此我想再次打开这个讨论并向你展示我的配置文件。

首先我的文件夹结构是这样的: 在此处输入图像描述

到目前为止,我有这样的 module.config.php:

    return array(
    'controllers' => array(
        'invokables' => array(
            'Album\Controller\Album' => 'Album\Controller\AlbumController',       
        ),
        'view_manager' => array(
            'template_map' => array(
            'layout/layout'           => __DIR__ . '/../view/layout/layout.phtml',
            'album/album/index' => __DIR__ . '/../view/album/album/index.phtml',
            'error/404'               => __DIR__ . '/../view/error/404.phtml',
            'error/index'             => __DIR__ . '/../view/error/index.phtml',
                ),
            'template_path_stack' => array(
                'album' => __DIR__ . '/../view',
            )
        )
    ),

    'router' => array(
        'routes' => array(
            'album' => array(
                'type'    => 'segment',
                'options' => array(
                    'route'    => '/album[/:action][/:id]',
                    'constraints' => array(
                        'action' => '[a-zA-Z][a-zA-Z0-9_-]*',
                        'id'     => '[0-9]+',
                    ),
                    'defaults' => array(
                        'controller' => 'Album\Controller\Album',
                        'action'     => 'index',
                    ),
                ),
            ),
        ),
    ),

);
4

3 回答 3

3

您可能有一个应用程序模块,其中有一个文件view/error/404.phtml从相册模块中删除以下行(所以不是应用程序模块):

'error/404'   => __DIR__ . '/../view/error/404.phtml',
'error/index' => __DIR__ . '/../view/error/index.phtml',

发生的情况是相册模块使用其配置覆盖了应用程序模块。相册模块是指相册模块中不存在的错误页面(参见,相册中没有view/error/404.phtml file)。

如果您还删除了 Application 模块,请从骨架应用程序中取回它,一切都会再次运行。

于 2013-08-22T14:13:46.843 回答
0

你忘了

    'not_found_template'       => 'error/404',
    'exception_template'       => 'error/index',

像那样:

'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/layout'           => __DIR__ . '/../view/layout/layout.phtml',
            'application/index/index' => __DIR__ . '/../view/application/index/index.phtml',
            'error/404'               => __DIR__ . '/../view/error/404.phtml',
            'error/index'             => __DIR__ . '/../view/error/index.phtml',
        ),
        'template_path_stack' => array(
            __DIR__ . '/../view',
        ),
于 2013-08-22T14:14:29.077 回答
0

将此方法添加到 Album\Module.php

public function getConfig()
{
   return include __DIR__ . '/config/module.config.php';
}
于 2014-05-20T21:31:03.697 回答