Патч 5994 викликає помилку статусу модуля Adminhtml 404


18

Днями я застосував патч 5994, і це призвело до того, що розділ адміністратора модуля, який я будую, кинув 404. Хто-небудь ще мав це. Модуль, однак, є на фронтенді.

Це Magento 1.8.1.0, і відкотившись через мої комісії, це, безумовно, Patch 5994, де все пішло не так.

Хто-небудь ще відчував те саме?

Нижче мій файл config.xml для модуля, на який я підозрюю, що відповідає:

<config>
    <modules>
        <Company_Playzone>
            <version>0.1.0</version>
        </Company_Playzone>
    </modules>
    <frontend>
        <routers>
            <playzone>
                <use>standard</use>
                <args>
                    <module>Company_Playzone</module>
                    <frontName>playzone</frontName>
                </args>
            </playzone>
        </routers>
        <layout>
            <updates>
                <playzone>
                    <file>playzone.xml</file>
                </playzone>
            </updates>
        </layout>
    </frontend>
    <adminhtml>
        <layout>
            <updates>
                <playzone>
                    <file>playzone.xml</file>
                </playzone>
            </updates>
        </layout>
        <acl>
            <resources>
                <all>
                    <title>Allow Everything</title>
                </all>
                <admin>
                    <children>
                        <playzone>
                            <title>Play Zone</title>
                            <sort_order>10</sort_order>
                        </playzone>
                    </children>
                </admin>
            </resources>
        </acl>
        <menu>
            <cms>
                <children>
                    <playzone_adminform module="playzone">
                        <title>Play Zone</title>
                        <children>
                            <activity module="playzone">
                                <title>Activities</title>
                                <action>playzone/adminhtml_activity</action>
                            </activity>
                            <category module="playzone">
                                <title>Categories</title>
                                <action>playzone/adminhtml_category</action>
                            </category>
                            <competition module="playzone">
                                <title>Competitions</title>
                                <action>playzone/adminhtml_competition</action>
                            </competition>
                        </children>
                    </playzone_adminform>
                </children>
            </cms>
        </menu>
    </adminhtml>
    <global>
        <helpers>
            <playzone>
                <class>Company_Playzone_Helper</class>
            </playzone>
        </helpers>
        <blocks>
            <playzone>
                <class>Company_Playzone_Block</class>
            </playzone>
        </blocks>
        <models>
            <playzone>
                <class>Company_Playzone_Model</class>
                <resourceModel>playzone_resource</resourceModel>
            </playzone>
            <playzone_resource>
                <class>Company_Playzone_Model_Resource</class>
                <entities>
                    <activity>
                        <table>playzone_activity</table>
                    </activity>
                    <category>
                        <table>playzone_category</table>
                    </category>
                    <competition>
                        <table>playzone_competition</table>
                    </competition>
                </entities>
            </playzone_resource>
        </models>
        <resources>
            <playzone_setup>
                <setup>
                    <module>Company_Playzone</module>
                    <class>Company_Playzone_Model_Resource_Setup</class>
                </setup>
            </playzone_setup>
            <playzone_write>
                <connection>
                    <use>core_write</use>
                </connection>
            </playzone_write>
            <playzone_read>
                <connection>
                    <use>core_read</use>
                </connection>
            </playzone_read>
        </resources>
    </global>
</config>

Вимкнено модульне тестування на поломки ...
Лабораторії Фіаско

Відповіді:


14

Це нова функція безпеки в повній мірі, як її виклав Кирило Шумахер . Він також був таким добрим, що надавав виправлення :

контролер повинен поширити адміністратор html-контролера, а розділ маршрутизаторів config.xml також повинен використовувати адмін.

Є дуже хороше пояснення у вирішенні маршрутизаторів Magento - Magento: погляд під капотом .

Якщо вам потрібна власна назва маршрутизатора, розділ, який потрібно додати, повинен виглядати так:

<config>
    ...
    <admin>
        <routers>
            <playzone>
                <use>admin</use>
                <args>
                    <module>Limesharp_Playzone</module>
                    <frontName>playzone</frontName>
                </args>
            </playzone>
        </routers>
    </admin>
    ...
</config>

Частіше розширення конфігурації маршрутизатора:

Оновлення : Станом на Magento CE 1.9.2.2 попередній приклад застосовний лише до прямих маршрутів. Розширення конфігурації маршрутизатора - це шлях:

<config>
    ...
    <admin>
        <routers>
            <adminhtml>
                <args>
                    <modules>
                        <Limesharp_Playzone before="Mage_Adminhtml">Limesharp_Playzone_Adminhtml</Limesharp_Playzone>
                    </modules>
                </args>
            </adminhtml>
        </routers>
    </admin>
    ...
</config>

3
Отже, це червоний прапор попередження для Модулів, які не створені надійно.
Лабораторії Фіаско
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.