2011-08-18 1 views
7

'da Checkout Denetleyicisini geçersiz kılmıyor görünüyor Magento mağazamdaki Checkout denetleyicisinde bazı değişiklikler yapmaya çalışıyorum, ancak denetleyici dosyasını yerel dizine koymaya çalıştığımda saygı duymuyor gibi görünüyor Bunun için yerel dosya.Magento

Dosyaların ilgili kod havuzlarında aynı yerde olup olmadığını kontrol ettim ve dosyalara aynı şey deniyor, sadece bunu yapmayacak.

  • /app/code/core/Mage/Checkout/controllers|CartController.php
  • /app/code/local/Mage/Checkout/controllers|CartController.php

olanlar vardır sahip olduğum iki dosya için dosya yolları.

Magento'daki dosyalarda, geçersiz kılmalarını engelleyen özel bir şey var mı?

cevap

14

FYI, denetleyici geçersiz kılma, ilgili dosyayı aynı klasör yapısına sahip yerel klasöre yerleştirerek çalışmaz. Aksine sen amaçla aşağıdaki sözdizimini takip etmek gerekir:

<config> 
    <frontend> [1] 
     <routers> 
      <checkout> [2] 
       <args> 
        <modules> 
         <yourModule before="Mage_Checkout">Namespace_Module_Overwrite_Checkout</yourModule> [3] 
        </modules> 
       </args> 
      </checkout> 
     </routers> 
    </frontend> 
</config> 
 
[1] Depending on the controllers area ,"frontend" or "admin" 
[2] Router node of the module to be overridden (look it up in the config.xml of that module) 
[3] The tag can be anything, it must be unique within the node. 
Your_Module_Overwrite_Checkout (is mapped to directory) 
Your/Module/controllers/Overwrite/Checkout/ 

Hope this helps. 
Regards 
MagePsycho 
+1

Bu Magento ekibi için meraklı tasarım kararı olduğu Bir modül içindeki her şey, yerel kod havuzunda doğru noktaya yerleştirilerek kolayca geçersiz kılınabilir. –