Простой способ переопределения 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
, будут иметь приоритет при загрузке. Таким образом мы можем переопределить почти любой файл ядра.
Недостатки использования данного подхода:
- В этом способе переопределяется весь файл ядра, вместе со всеми его функциями. Учитывая, что большинство
core
классов содержат большое количество методов, это означает, что мы переопределим все эти методы в нашем файле. Это неэффективно, если нам нужно переопределить, например, один или два метода. - Этот подход может негативно влиять на последующие обновления системы (по вышеуказанной причине).
- Этот подход не работает для переопределения контроллеров.
Этот способ полезен только при тестировании/разработке вашего модуля. Вместо написания всего модуля вы можете быстро переопределить основной класс, что иногда бывает очень полезным.
Последние посты
Генри Форд
Человек имеет два мотива поведения — один настоящий и второй, который красиво звучит Генри Форд…
Фридрих Ницше
Не нужно додумывать слишком много. Так вы создаете проблемы, которых изначально не было Фридрих Ницше…
Такой разный инвертор! Выбираем между кондиционерами Inverter, Inverter DC и Full DC
Лето в разгаре, а значит самое время задуматься о покупке кондиционера. Но как не потеряться…
Омар Хайям
Настоящий друг — это человек, который в глаза тебе выскажет все, что о тебе думает,…
Полезные советы по выбору раздвижной двери
Следует знать, что функциональность и дизайн работают рука об руку, когда вы используете раздвижную дверь.…