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