Комментарии 18
Это касается не только Magento, переписывать код библиотек, фреймворков или движков — самая ужасная практика в программировании.
Можно порекомендовать еще 5 способ — vqmod ;)
vqmod.com/
Я его на опенкарте использую, т.к. задолбало при каждом обновлении или переходе на новую версию искать сделанные мной ранее модификации.
а тут все четко и понятно, вернуть все как было — плевое дело.
vqmod.com/
Я его на опенкарте использую, т.к. задолбало при каждом обновлении или переходе на новую версию искать сделанные мной ранее модификации.
а тут все четко и понятно, вернуть все как было — плевое дело.
Ещё есть вариант хуков — редактировать core-файлы в отдельной git-ветке, а при обновлении сделать merge.
Да, я согласен с автором, что редактировать файлы в ядре это зло и лучше использовать Event Observer там где они есть, но вдруг что, можно использовать и этот метод.
Да, я согласен с автором, что редактировать файлы в ядре это зло и лучше использовать Event Observer там где они есть, но вдруг что, можно использовать и этот метод.
Ваш модуль будет загружен после того, на который вы ориентируетесь, если будете пользоваться нодой
Было бы интересно почитать об этом подробней с примерами
Часто приходится совмещать обсерверы с реврайтами, последние часто ломают модуль поскольку обрабатываются при выключенном Module Output
Часто приходится совмещать обсерверы с реврайтами, последние часто ломают модуль поскольку обрабатываются при выключенном Module Output
стоит добавить, что нужно делать в зависимости от обстоятельств, например, времени или денег, а также вероятности установки нового екстеншена. Все относительно
По поводу времени/денег. В нашем случае зачастую нет разницы в стоимости решения с rewrite и стоимости более красивого способа. Но если Magento не является приоритетным направлением, то, наверно, вопрос компромисса возможен. Однако, используя переписывание вы можете столкнуться с проблемами при обновлении системы, установке модулей в дальнейшем. На это тоже будет потрачено время и деньги.
Вероятность установки нового расширения в будущем больше, чем усилия на то, чтобы сделать работу хорошо сегодня.
Вероятность установки нового расширения в будущем больше, чем усилия на то, чтобы сделать работу хорошо сегодня.
Событий реально мало. На класс редко когда больше 1-2, а по-хорошему надо иметь 1-2 на каждый метод.
Последние работы по кастомизации на 1.5: я просто не видел событий там где мне надо было поменять поведение.
Последние работы по кастомизации на 1.5: я просто не видел событий там где мне надо было поменять поведение.
Такая ситуация возможна. Но 1-2 события на каждый метод повлияет на производительность.
А какая задача стояла в вашем случае, если не секрет? Можно в личку.
А какая задача стояла в вашем случае, если не секрет? Можно в личку.
мм, не помню уже — куча мелочи. Но если пройтись по классам в local/Wott: убрать категории из фильтров в layered navigation, изменить шаг для price там же, добавить различные свойства по типу visibility в фильтры для category list — архив, скидки, coming soon, изменить поля для customer, там же сделать некоторые поля не обязательными…
Определённо надо развернуть мысль.
Да, желательно с простыми примерами.
Сейчас — весь смысл топика в заголовке :)
Да, желательно с простыми примерами.
Сейчас — весь смысл топика в заголовке :)
стоит добавить! Чтобы посмотреть список событий на странице в файле index.php нужно откомментировать строку
и включить профайлер в админке (System > Configuration > Advanced > Developer > Debug > Profiler)
Varien_Profiler::enable();
и включить профайлер в админке (System > Configuration > Advanced > Developer > Debug > Profiler)
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Не переписывайте классы в Magento