Comment puis-je étendre/remplacer le contrôleur de commande de création par l'administrateur ?
-
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é ?
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é.