в папке core находятся файлы magento, если мне надо их изменить, то копирую с такой же древовидной структурой в папку local и там вношу нужные изменен

[10 ноября 2016 г.]    Российская сборка Magento 2.49.12
Magento 2: модули и услуги
#1 Murzik_dude
  • Группа: Пользователь
  • Сообщений: 21
  • Регистрация: 29.10.2012

23.11.2012 09:23

Доброе утро, вопрос вот в чем, в папке core находятся файлы magento, если мне надо их изменить, то копирую с такой же древовидной структурой в папку local и там вношу нужные изменения. И magento вроде их (из local) должна запускать по условию, так? Если нет, подскажите как это сделать?

#2 Murzik_dude
  • Группа: Пользователь
  • Сообщений: 21
  • Регистрация: 29.10.2012

23.11.2012 10:05

Дело в том, что изменения не вступают в силу, в чем причина?

#3 Murzik_dude
  • Группа: Пользователь
  • Сообщений: 21
  • Регистрация: 29.10.2012

23.11.2012 13:20

разобрался, с контроллерами дело обстоит иначе, нежели с блоками или моделями
для того чтобы изменить core контроллер его не надо копировать в папку local, помещаем его в свой модуль (в моем примере CustomerController.php)
Создатель/Модуль/controllers/Adminhtml/CustomerController.php

в этом контроллере подключаем core-ский
include_once("Mage/Adminhtml/controllers/CustomerController.php");
class Создатель_Модуль_Adminhtml_CustomerController extends Mage_Adminhtml_CustomerController //наследуем этот контроллер

и чтобы он загружался раньше ядра указываем это в config.xml
<admin>
  <routers>
     <adminhtml>
         <args>
             <modules>
                  <создатель_модуль_adminhtml before="Mage_Adminhtml">Создатель_Модуль_Adminhtml</создатель_модуль_adminhtml>
             </modules>
         </args>
     </adminhtml>
  </routers>
</admin>

вот и все

#4 Murzik_dude
  • Группа: Пользователь
  • Сообщений: 21
  • Регистрация: 29.10.2012

23.11.2012 14:08

уточнение,
выше пример показывает, что редактируется контроллер расположенный в Adminhtml(то есть в админской части), если же надо редактировать контроллер из frontend, то и данная команды должна находится в соответствующем месте в config.xml
<frontend>
  <routers>
     <adminhtml>
         <args>
             <modules>
                  <создатель_модуль_adminhtml before="Mage_Adminhtml">Создатель_Модуль_Adminhtml</создатель_модуль_adminhtml>
             </modules>
         </args>
     </adminhtml>
  </routers>
</frontend>


Поделиться темой: