Sobrescrevendo controllers do admin no Magento

Para exemplo, utilizarei um módulo chamado Comnisky_Adminhtml, com sua estrutura previamente cadastrada. O caminho deste módulo é app/code/local/Comnisky/Adminhtml/.

Edite o arquivo app/code/local/Comnisky/Adminhtml/config.xml, e inclua o conteúdo de forma que fique parecido como abaixo. A parte relevante está entre as tags <routers> e </routers> dentro de <admin>:

< ?xml version="1.0"?>
<config>
    <modules>
        <comnisky_adminhtml>
            <version>1.0.0</version>
        </comnisky_adminhtml>
    </modules>
    <admin>
        <routers>
            <adminhtml>
                <args>
                    <modules>
                        <comnisky_adminhtml before="Mage_Adminhtml">Comnisky_Adminhtml</comnisky_adminhtml>
                    </modules>
                </args>
            </adminhtml>
        </routers>
    </admin>
</config>

Copie o arquivo app/code/core/Adminhtml/controllers/Catalog/ProductController.php e cole em app/code/local/Comnisky/Adminhtml/controllers/Catalog/ProductController.php, em seguida edite esse arquivo.

Adicione o require_once no início do arquivo:

require_once 'Mage/Adminhtml/controllers/Catalog/ProductController.php';

E depois estenda da classe do core:

class Comnisky_Adminhtml_Catalog_ProductController extends Mage_Adminhtml_Catalog_ProductController

Feito isso, basta realizar as customizações nos métodos.

Posts relacionados:

  1. Magento: exibindo SQL de collection
  2. svn: Checksum mismatch

This entry was posted in Artigos and tagged , . Bookmark the permalink.

2 Responses to Sobrescrevendo controllers do admin no Magento

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">