Comment puis-je étendre/remplacer le contrôleur de commande de création par l'administrateur ?

magento.stackexchange https://magento.stackexchange.com/questions/105816

  •  29-09-2020
  •  | 
  •  

Question

J'essaie de remplacer le contrôleur adminhtml_sales_order_create.J'ai créé un petit moduleapp/code/local/PA/Sales/etc/config.xml

<?xml version="1.0"?>
<config>
    <modules>
        <PA_Sales>
            <version>0.1</version>
        </PA_Sales>
    </modules>
    <admin>
        <routers>
            <adminhtml>
                <args>
                    <modules>
                        <sales before="Mage_Adminhtml">PA_Sales_Adminhtml</sales> 
                    </modules>
               </args>
            </adminhtml>
        </routers>
    </admin>
</config>

et créé le fichier de contrôleur comme

app/code/local/PA/Sales/controllers/Adminhtml/CreateorderController.php

<?php
require_once 'Mage/Adminhtml/controllers/Sales/Order/CreateController.php';
    class PA_Sales_Adminhtml_CreateorderController extends Mage_Adminhtml_Sales_Order_CreateController
    {
         public function indexAction()
        {
                 echo "something";exit;
        }
    }

Je ne parviens pas à remplacer ce contrôleur, où me suis-je trompé ?

Était-ce utile?

La solution

vous devez mettre votre contrôleur dedansapp/code/local/PA/Sales/controllers/Adminhtml/Sales/Order/CreateorderController.php et nommez votre classe en conséquence.
En règle générale, lors de la réécriture d'un contrôleur à partir de Mage/Adminhtml/Some/Controller/HereController.php votre nouveau chemin devrait êtreNamespace/Module/controllers/Adminhtml/Some/Controller/HereController.php.
Alors qu'est-ce qui vient après Adminhtml dans le contrôleur d'origine doit être conservé après Adminhtml dans votre contrôleur personnalisé.

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