从Magento后端开始

从Magento后端开始,magento,widget,backend,Magento,Widget,Backend,几天以来,我一直在关注Magento后端的行为。为了理解,我做了一个新的网格来查看bbdd的表格。完成此网格后,我可以看到在尝试在CMS页面中添加小部件时出现404错误: 调试如果我在自定义模块中对此进行注释,我可以看到错误消失 <admin> <routers> <giftrouter> <use>admin</use> <args>

几天以来,我一直在关注Magento后端的行为。为了理解,我做了一个新的网格来查看bbdd的表格。完成此网格后,我可以看到在尝试在CMS页面中添加小部件时出现404错误:

调试如果我在自定义模块中对此进行注释,我可以看到错误消失

<admin>
    <routers>
       <giftrouter>
            <use>admin</use>
            <args>
                <module>Wpr_Giftproducts_Adminhtml</module>
                <frontName>admin</frontName>
                <modules>
                    <sintax after="Wpr_Giftproducts_Adminhtml">Mage_Adminhtml</sintax>
                </modules>
            </args>
       </giftrouter>             

     </routers>     
</admin>
具体而言,我认为错误是由以下原因造成的:

<sintax after="Wpr_Giftproducts_Adminhtml">Mage_Adminhtml</sintax>
但我不明白这个配置是如何工作的。
如何设置自定义路由以避免与小部件冲突?

我认为您的路由器处于相反的状态

<admin>
    <routers>
        <adminhtml>
            <args>
                <modules>
                    <sintax before="Mage_Adminhtml">Wpr_Giftproducts_Adminhtml</sintax>
                </modules>
            </args>
        </adminhtml>
    </routers>
</admin>

通过这种方式,Giftproducts控制器是adminhtml路由器的一部分,而旧的方式是将管理控制器重新分配给giftrouter。

我认为您的路由器正好相反

<admin>
    <routers>
        <adminhtml>
            <args>
                <modules>
                    <sintax before="Mage_Adminhtml">Wpr_Giftproducts_Adminhtml</sintax>
                </modules>
            </args>
        </adminhtml>
    </routers>
</admin>

这样,Giftproducts控制器就是adminhtml路由器的一部分,而旧的方法是将管理员控制器重新分配给giftrouter。

确保您的管理员页面有acl部分。感谢Junuxx的更正,并为我糟糕的英语感到抱歉。确保您的管理员页面有acl部分。感谢Junuxx的更正,并为我糟糕的英语感到抱歉。您不使用frontname。为什么不呢?有什么区别??。我不知道如何处理这个问题,我在互联网上找到的独特知识就是一个例子。如果我把Wpr_Giftproducts_Adminhtml放在后端,后端将停止工作。只有一个路由器的前端名称可以是admin,而Adminhtml已经使用了这个名称。你的路由器真是太棒了,但我把整个东西都丢了。删除整个部分。您不需要放置frontname。为什么不呢?有什么区别??。我不知道如何处理这个问题,我在互联网上找到的独特知识就是一个例子。如果我把Wpr_Giftproducts_Adminhtml放在后端,后端将停止工作。只有一个路由器的前端名称可以是admin,而Adminhtml已经使用了这个名称。你的路由器真是太棒了,但我把整个东西都丢了。删除整个部分。