Patch 5994 menyebabkan modul Adminhtml 404 Status Error


18

Saya menerapkan Patch 5994 tempo hari dan itu telah menyebabkan bagian admin dari modul yang saya buat melempar 404. Apakah ada orang lain yang memiliki ini. Modul ini baik-baik saja di frontend.

Ini Magento 1.8.1.0 dan setelah memutar kembali komit saya pasti Patch 5994 di mana semuanya salah.

Adakah orang lain yang mengalami masalah yang sama?

Di bawah ini adalah file config.xml saya untuk modul yang saya duga memiliki jawabannya:

<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>

Berangkat ke modul pengujian untuk kerusakan ...
Fiasco Labs

Jawaban:


14

Ini adalah fitur keamanan baru dalam efek penuh sebagaimana diuraikan oleh Cyrill Schumacher . Dia juga sangat baik hati untuk memberikan perbaikan :

pengontrol harus memperluas admin pengontrol html dan bagian router config.xml juga harus menggunakan admin.

Ada penjelasan yang sangat bagus di Solving Magento - Magento Routers: a Look under the Hood .

Jika Anda memerlukan nama router khusus, bagian yang perlu ditambahkan akan terlihat seperti ini:

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

Lebih umum untuk memperluas konfigurasi router:

Pembaruan : Pada Magento CE 1.9.2.2, contoh sebelumnya hanya berlaku untuk rute frontend. Memperluas konfigurasi router adalah caranya:

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

3
Jadi, ini adalah bendera peringatan merah untuk Modul yang belum dibuat dengan aman.
Fiasco Labs
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.