У фреймворку Мадженто є кілька методів, які дозволяють перевизначати 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
класів містять велику кількість методів, це означає, що ми перевизначимо всі ці методи в нашому файлі. Це неефективно, якщо нам потрібно перевизначити, наприклад, один або два методи.
Цей спосіб корисний тільки при тестуванні/розробці вашого модуля. Замість написання всього модуля ви можете швидко перевизначити основний клас, що іноді буває дуже корисним.
В сучасному світі, в якому стабільність електропостачання є ключовим фактором комфорту та безперебійної роботи, наявність…
Навіть якщо ви дуже талановиті і докладаєте великих зусиль, для деяких результатів просто потрібен час:…
Цей практичний урок допоможе вам перенести дані з вашого Excel-файлу (з деякими конкретними стовпцями) до…
Пиво – один із найпопулярніших напоїв, який поряд з чаєм та кавою відомий у всіх…
Досить часто у програмістів виникає спокуса написати якусь велику функцію, що повинна вирішувати певну задачу.…