Простий спосіб перевизначення 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
класів містять велику кількість методів, це означає, що ми перевизначимо всі ці методи в нашому файлі. Це неефективно, якщо нам потрібно перевизначити, наприклад, один або два методи. - Цей підхід може негативно впливати на подальші оновлення системи (по вищевказаній причині).
- Цей підхід не працює для перевизначення контролерів.
Цей спосіб корисний тільки при тестуванні/розробці вашого модуля. Замість написання всього модуля ви можете швидко перевизначити основний клас, що іноді буває дуже корисним.
Останні пости
Як вибрати ідеальний ноутбук: Повний гайд
Вибір ноутбука може бути складним завданням у світі, де ринок переповнений варіантами на будь-який смак… Читати далі
Томас Едісон
Наш великий недолік в тому, що ми занадто швидко опускаємо руки. Найбільш діючий метод досягти… Читати далі
Найкрасивіші та найбільш вражаючі мости з усього світу (ТОП-10)
Міст — це щось більше, ніж просто споруда, яка поєднує два береги. Для того, щоб… Читати далі
Соломон
Життя нас вчить, що свою пару ми пізнаємо, коли розлучаємося, своїх братів ми пізнаємо, коли… Читати далі
Річард Бах
Жодне бажання не дається тобі окремо від сили, що дозволяє його здійснити. Хоча, можливо, для… Читати далі