我将导航内容存储在项目的 configs 文件夹中的 navigation.xml 文件中。
基本上我有两个模块,处理例如身份验证和基本页面使用的默认模块和管理网站的管理模块。
当我以管理员身份登录时,根据我的 acl 和 navigation.xml 会出现一个特殊的管理员导航,导航元素如下所示:
<ticket>
<label>Tickets</label>
<resource>admin:ticket</resource>
<module>admin</module>
<controller>ticket</controller>
<action>payticket</action>
<privilege>ticket</privilege>
</ticket>
但是当我以管理员身份登录时,我的网站的 URL 有一个大问题。我开发我的管理模块很晚,所以默认模块的 url 看起来像这样:
$this->url(array('controller' => 'index', 'action' => 'contact'))
所以我省略了'module' => 'default'因为我不希望/default/出现在浏览器的 url 栏中。
当我访问管理站点时,例如 mysite.de/admin/ticket,我页面上通常指向默认模块的所有 url 现在都指向管理模块,当我访问它们时我收到了错误的请求。
$this->url(array('controller' => 'index', 'action' => 'contact'))
通常会创建 mysite.de/index/contact,但在管理页面上会变成 mysite.de/admin/index/contact。
我必须调整所有链接并添加模块信息还是有其他解决方案?