Magento негізгі контроллерін кеңейту (Checkout/OnepageController)

Негізгі контроллерді жою кезінде қиындықтарым бар. Мен жаңа функцияны қосқым келеді, бірақ ол тек өзекті файлда (код/​​core/checkout/controllers/onepagecontroller.php) жасасам ғана жұмыс істейді.

Кейбір постқа ұшырамын, бірақ ол жұмыс істемейді. Олардың кейбіреулері:

(Қосымша сілтемелерді қоса алмаймын, кешіріңіз)

Мен не болып жатқанын білмеймін ... мүмкін сіз маған көмектесе аласыз;).

Мен magento 1.5-ді қолданамын, менде бұл 3 файл бар:


local -> Arias -> CoreExtended -> etc -> config.xml

<?xml version="1.0" encoding="UTF-8"?>

    
        
            0.1.0
        
    

    
        
            
                
                    
                        Arias_CoreExtended_Checkout
                    
                
            
        
    


app -> etc -> modules -> Arias_CoreExtended.xml

<?xml version="1.0"?>

    
        
            true
            local
        
    


local -> Arias -> CoreExtended -> controllers -> Checkout -> OnepageController.php

<?php

require_once 'Mage/Checkout/controllers/OnepageController.php';

class Arias_CoreExtended_Checkout_OnepageController extends Mage_Checkout_OnepageController
{
    public function collectAction()
    {
        echo 'WTF?';
    }

    public function indexAction()
    {
        echo "This controller has been overridden.";
    }
}

Сіздің уақытыңызға алдын-ала алғыс айтамыз.

3

3 жауаптар

I would first mirror the same directory structure of the controller you are overwriting, so in this case change: local/Arias/CoreExtended/controllers/Checkout/OnepageController.php to local/Arias/CoreExtended/controllers/OnepageController.php

Есім кеңістігін/модуль атауын төмендетіп, жалпы алғанда контроллерлерді қайта жазғанда, _Checkout жою керек, және егер олар стандартты емес болса, оларды пайдалану үшін модульде бар кез келгенді іздейді. . Дұрыс код:

Arias_CoreExtended

Мен бұл дәл баптауды Бақылаушыға қайта жазу үшін сәтті қолдандым!

1
қосылды

Мен сіздің есім кеңістігін/модуль атауын төменде келтіріп көргім келеді:

Arias_CoreExtended_Checkout

0
қосылды
Бұл жұмыс істемейді. Мен көп нәрсе істей аламын ба? Көмектесуге рақмет.
қосылды автор saturno, көзі

Сіздің әдісіңіз көбінесе @satumo болып табылады. Жалғыз нәрсе өзгерту керек - бұл сызық

Arias_CoreExtended

Сондықтан сіздің толық конфигурацияңыз келесідей болуы керек:

<?xml version="1.0" encoding="UTF-8"?>

    
        
            0.1.0
        
      

    
        
            
                
                    
                        Arias_CoreExtended
                    
                
            
        
    

0
қосылды