Override Store Controller Magento Administrator
-
16-10-2019 - |
Frage
Ich möchte die Standardfunktion von Geschäften überschreiben (einige Felder wie Provision, Ort zum Liefern usw. hinzufügen), kann ich jedoch nicht konfigurieren. Meine Konfigurationsdatei wie folgt
<config>
...
<admin>
<routers>
<adminhtml>
<args>
<modules>
<store before="Mage_Adminhtml">Mycompany_Store_Adminhtml_Store</store>
</modules>
</args>
</adminhtml>
</routers>
</admin>
</global>
....
</config>
Es funktioniert überhaupt nicht.
Lösung 3
Schließlich habe ich mir eine Lösung ausgedacht.
<global>
<rewrite>
<mycompany_store_adminhtml_system_storecontroller>
<from><![CDATA[#^/admin/system_store/#]]></from> <!-- Mage_Adminhtml_System_StoreController -->
<to>/store/adminhtml_system_store/</to> <!-- Mycompany_Store_Adminhtml_System_StoreController -->
</mycompany_store_adminhtml_system_storecontroller>
</rewrite>
</global>
Andere Tipps
Mit meinem Kommentar zu Marius 'Antwort sollte seine Lösung funktionieren.
Sie sollten dies jedoch verwenden system.xml
, Sie können Felder in der Systemkonfiguration angeben. Sie können diese Werte dann verwenden Mage::getStoreConfig()
und führen Sie die Logik aus, die Sie benötigen.
<sections>
<general>
<groups>
<store_information>
<fields>
<commission>
<label>Commission</label>
<frontend_type>text</frontend_type>
<sort_order>10</sort_order>
<show_in_default>1</show_in_default>
<show_in_website>1</show_in_website>
<show_in_store>1</show_in_store>
</commission>
</fields>
</store_information>
</groups>
</general>
</sections>
Versuchen Sie es mit dieser Konfiguration:
<admin>
<routers>
<adminhtml>
<args>
<modules>
<Mycompany_Store before="Mage_Adminhtml">Mycompany_Store_Adminhtml</Mycompany_Store>
</modules>
</args>
</adminhtml>
</routers>
</admin>
Ihr Controller sollte sich in dieser Datei befinden:Mycompany/Store/controllers/Adminhtml/System/StoreController.php
Und es sollte so aussehen:
<?php
require_once 'Mage/Adminhtml/controllers/System/StoreController.php';
class Mycompany_Store_Adminhtml_System_StoreController extends Mage_Adminhtml_System_StoreController{
//your methods here
}
So sollten Sie den Ladencontroller überschreiben. Was ich nicht verstehe ist, warum Sie dies tun müssen. Sie können alle gewünschten Einstellungen im Abschnitt "System-> Konfiguration" mit der system.xml-Datei von einem Ihrer Module hinzufügen, und Sie können sie einfach mit lesen Mage::getStoreConfig('path/to/setting')
.
Oder wenn Sie zusätzliche Felder in der Store -Entität wünschen, fügen Sie sie einfach in den Tisch hinzu core_store
und Felder für sie im Formular zum Hinzufügen/Bearbeiten von Store. So können Sie das tun.
Ich empfehle wirklich, Ihre Werte in den Konfigurationsabschnitt zu setzen.