Question

Je veux remplacer la fonctionnalité par défaut des magasins (en ajoutant certains domaines comme la commission, le lieu de livrer etc), mais je ne suis pas en mesure de le configurer. Mon fichier de configuration comme suit

    <config>
  ...

    <admin>
        <routers>
            <adminhtml>
                <args>
                    <modules>
                        <store before="Mage_Adminhtml">Mycompany_Store_Adminhtml_Store</store>
                    </modules>
                </args>
            </adminhtml>
        </routers>
</admin>
 </global>
....
 </config>

cela ne fonctionne pas du tout.

Était-ce utile?

La solution 3

Enfin je suis venu avec une solution ..

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

Autres conseils

Avec mon commentaire sur la réponse de Marius, sa solution devrait fonctionner.

Cependant, vous c / devriez faire cela en utilisant system.xml, qui vous permet de spécifier les champs dans la configuration du système. Vous pouvez ensuite lire ces valeurs à l'aide Mage::getStoreConfig() et effectuer la logique que vous avez besoin.

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

Essayez avec cette configuration:

<admin>
        <routers>
            <adminhtml>
                <args>
                    <modules>
                        <Mycompany_Store before="Mage_Adminhtml">Mycompany_Store_Adminhtml</Mycompany_Store>
                    </modules>
                </args>
            </adminhtml>
        </routers>
</admin>

Le contrôleur doit être dans ce fichier: Mycompany/Store/controllers/Adminhtml/System/StoreController.php et il devrait ressembler à ceci:

<?php
require_once 'Mage/Adminhtml/controllers/System/StoreController.php';
class Mycompany_Store_Adminhtml_System_StoreController extends Mage_Adminhtml_System_StoreController{
    //your methods here
}

Voici comment vous devez remplacer le contrôleur de magasin. Ce que je ne comprends pas pourquoi vous avez besoin de le faire. Vous pouvez ajouter tous les paramètres que vous souhaitez dans la section configuration Système-> en utilisant le fichier system.xml d'un de vos modules et vous pouvez les lire facilement avec Mage::getStoreConfig('path/to/setting').
ou si vous voulez des champs supplémentaires dans l'entité magasin juste les ajouter dans la table core_store et champs pour eux sous la forme pour le magasin ajouter / modifier. Voici comment vous pouvez le faire .

Je recommande vraiment mettre vos valeurs dans la section de configuration.

Licencié sous: CC-BY-SA avec attribution
Non affilié à magento.stackexchange
scroll top