我正在开发一个ZF2项目,并使用ZfcUser来管理网站用户。 我只是想知道是否有可能有一条通往zfcuser路线的儿童路线? 类似的东西,在我的模块的配置中:
return [
'router' =>
[
'routes' =>
[
'admin' =>
[
'type' => 'Segment',
'options' =>
[
'route' => '/admin',
'defaults' =>
[
'__NAMESPACE__' => 'admin',
'controller' => 'admin.index',
'action' => 'index',
],
],
'may_terminate' => true,
'child_routes' =>
[
'zfcuser' =>
[
'type' => 'Literal',
'options' =>
[
'route' => '/account',
]
],
],
],
],
],
];
答案 0 :(得分:0)
这是我最近尝试克服的一个问题,不是在使用ZfcUser,而是在开发我自己的模块时。有一些解决方案,但最合适的取决于您正在开发的应用程序类型。
最简单的解决方案是覆盖zfcuser
路径路径并在其前面添加admin
。
return [
'router' => [
'routes' => [
'zfcuser' => [
'options' => [
'route' => '/admin/user',
],
],
],
],
];
如果您像我一样希望所有admin
路线包含在一条路线下,那么您最好完全删除zfcuser
路线并实施您自己的路线ZfcUser控制器。
namespace Application;
use Zend\ModuleManager\ModuleEvent;
use Zend\ModuleManager\ModuleManager;
class Module
{
public function init(ModuleManager $moduleManager)
{
$events = $moduleManager->getEventManager();
$events->attach(ModuleEvent::EVENT_MERGE_CONFIG, array($this, 'onMergeConfig'));
}
public function onMergeConfig(ModuleEvent $event)
{
$configListener = $event->getConfigListener();
$configuration = $configListener->getMergedConfig(false);
if (isset($configuration['router']['routes']['zfcuser']))
{
unset($configuration['router']['routes']['zfcuser']);
}
$configListener->setMergedConfig($configuration);
}
}