Простой способ переопределения core файлов Magento

Во фреймворке Мадженто есть несколько методов, которые позволяют переопределять core файлы. В сегодняшнем посте я расскажу об одном из самых простых таких методов.

 

Суть данного метода заключается в том, что вам не нужно создавать собственный модуль и писать изменения лейаута в файле config.xml. Вместо этого вы можете просто скопировать основной файл движка (который нужно переопределить) в локальную среду: app/code/local/Mage, с сохранением полного пути этого php файла. После этого вы можете отредактировать файл в локальной среде под свои нужды, а Magento будет использовать ваш файл вместо core файла.

 

Пример:

Например, если вам нужно переопределить файл:

app/code/core/Mage/Catalog/Block/Category/View.php

просто скопируйте файл View.php в:

app/code/local/Mage/Catalog/Block/Category/View.php

 

 

Переопределение сработает, поскольку Magento подключает PHP-файлы в таком порядке: сначала из среды app/code/local/, потом app/code/community/ и, наконец, из app/code/core/. Это приводит к тому, что файлы, имеющие одно и то же название из среды local или community, будут иметь приоритет при загрузке. Таким образом мы можем переопределить почти любой файл ядра.

 

 

Недостатки использования данного подхода:

  1. В этом способе переопределяется весь файл ядра, вместе со всеми его функциями. Учитывая, что большинство core классов содержат большое количество методов, это означает, что мы переопределим все эти методы в нашем файле. Это неэффективно, если нам нужно переопределить, например, один или два метода.
  2. Этот подход может негативно влиять на последующие обновления системы (по вышеуказанной причине).
  3. Этот подход не работает для переопределения контроллеров.

 

Этот способ полезен только при тестировании/разработке вашего модуля. Вместо написания всего модуля вы можете быстро переопределить основной класс, что иногда бывает очень полезным.

 

Recent Posts

Удаленная разработка из тропиков: Техническая сторона, инфраструктура и организация рабочего пространства

Алоха! Последние несколько лет окончательно закрепили тренд на отдаленную работу. Для веб-разработчиков, DevOps-инженеров и администраторов…

1 неделя ago

Хмель, солод, дрожжи и вода: как создается характер пива

Кажется, пиво — напиток простой: четыре ингредиента, понятная технология. Но одни и те же хмель,…

2 недели ago

SIP-транки – что это такое и как они работают в IP-телефонии

В современной IP-телефонии немаловажную роль играет технология, обеспечивающая передачу голоса через Интернет между бизнесом и…

4 недели ago

Почему стоит выбрать ноутбук Apple MacBook Pro 14 для современных ИТ-задач

Выбор рабочей машины для веб-разработчика или администратора серверов — является всегда компромиссом между портативностью, автономностью…

4 недели ago

Практический гайд: как подобрать надежный бесперебойник для домашнего роутера

Исчез свет и вместе с ним мгновенно исчезла связь с окружающим миром? Это знакомая и…

1 месяц ago

Google теряет монополию: Как подготовить IT-сайт к AI-поиску (GEO)

Что вообще случилось с поиском в интернете? Я не побоюсь сказать это вслух: произошла настоящая…

1 месяц ago