Module 如何在Zend Framework 2中更改模块的基本路径
注意-首先,仔细阅读问题 我是ZF2的新手。现在我正在开发zend framework 2.3。我在这个项目中有三个模块,我在Wamp上工作Module 如何在Zend Framework 2中更改模块的基本路径,module,zend-framework2,Module,Zend Framework2,注意-首先,仔细阅读问题 我是ZF2的新手。现在我正在开发zend framework 2.3。我在这个项目中有三个模块,我在Wamp上工作 应用程序-----------//默认ZF2页 相册----------------//ZF2教程示例 Html------//我已经创建了 我已经为Html模块创建了一个自定义布局(最后一个)。但是有一个basePath的问题。我在此模块中没有获得正确的页面路径。因此,我在Html/config/module.config.php中进行了更改,并在mod
'view_manager' => array(
'base_path' => 'zend/public/htmlmodule/',
'template_path_stack' => array(
'html' => __DIR__ . '/../view',
),
),
现在,我得到了这个模块的正确基本路径。但现在basepath会自动更改其他两个模块,如相册和应用程序。现在我删除了上面的代码,并将此代码添加到zend\config\autoload\local.php
view_manager' => array(
'base_path' => 'zend/public/htmlmodule/',
'template_path_stack' => array(
'html' => __DIR__ . '/../view',
),
),
现在,该脚本已更改了所有模块的路径
现在,我的问题是,我想为特定模块和布局(可选)更改基本路径,而不是为所有模块更改基本路径,并希望为不同的模块更改不同的基本路径。实际上,如果没有正确的basepath,您将无法获得正确的image/css和js文件
在这里,我为所有2个模块共享module.config.php文件
<?php
//Album Module > module.config.php
return array(
'controllers' => array(
'invokables' => array(
'Album\Controller\Album' => 'Album\Controller\AlbumController',
),
),
'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',
),
),
),
),
),
'view_manager' => array(
'base_path' => 'zend/public/album',
'template_path_stack' => array(
'album' => __DIR__ . '/../view',
),
),
);
我想知道,我哪里做错了,以及如何根据模块获得正确的基本路径
感谢大家在这个问题上的贡献。向每个视图管理器添加特定的
base\u path
键,然后尝试对生成的视图模型使用$this->getHelper('basePath')->setBasePath()
作为一个警告,我通过将基本路径设置为树中的“最低点”,完全避免了这个问题,在您的例子中:
'view_manager' => array(
'base_path' => 'zend/public/',
'template_path_stack' => array(
'html' => __DIR__ . '/../view',
),
),
然后在特定于模块的视图中添加特定于模块的路径部分。因此,如果我想访问public下相册文件夹中相册特定的css或js文件,那么在我的视图中,我会引用基本路径,只需在路径的其余部分之前添加“/album”。如果你这样做,我相信会让你少头疼。我仔细阅读了你的帖子,但很难理解你想要达到的目标。你有义务清楚地描述你的问题,以便社区能够帮助你。试着解释一下哪里出了问题,例如:“在index.phtml中,对于'HTML'模块返回'/htmlmodule'(正确),而对于'Album'模块返回相同的结果,但是我希望它返回'/Album'。“是的,亲爱的,你说得对。。!我想要html模块的basePath/public/htmlmodule和相册模块的basePath public/album。
'view_manager' => array(
'base_path' => 'zend/public/',
'template_path_stack' => array(
'html' => __DIR__ . '/../view',
),
),