2011-06-16 15 views
6

Necesito verificar la validez de un código de cupón en la página de pago/carro con el código del lado del servidor.¿Cómo puedo anular un controlador Magento?

Magento ya viene con un cheque similar en su lugar. Sin embargo, necesito agregar uno para ver si un usuario está conectado o no: ¿cuál sería la mejor manera de extender/anular esa acción en Magento?

Sé que puedo copiar el archivo PHP del controlador al árbol de carpetas /app/code/local/, pero me pregunto si hay una mejor manera de hacerlo.

Respuesta

11

Cualquier cosa además de modificar el core es bueno en mi opinión. Dicho esto crear un módulo simple con un directorio de controladores y etc con config.xml:

<config> 
    <frontend> 
     <routers> 
      <checkout> 
       <args> 
        <modules> 
         <My_Module before="Mage_Checkout">My_Module_Checkout</My_Module> 
        </modules> 
       </args> 
      </checkout> 
     </routers> 
    </frontend> 
</config> 

Vea aquí para más detalles sobre cómo extender el controlador de interfaz: http://prattski.com/2010/06/24/magento-overriding-core-files-blocks-models-resources-controllers/

+2

Thnak que, de hecho lo hice eso, pero necesito agregar explícitamente un requerimiento en require_once ("Mage/Checkout/controllers/CartController.php"); – JohnT

+2

¿Puedes actualizar tu publicación con el código config.xml y el código del controlador? – B00MER

Cuestiones relacionadas