Перезапись модели, которую можно легко отключить
Мне нужно настроить модель в стороннем расширении.
Мне нужно переопределить модель, чтобы я не редактировал исходные файлы. Я также хотел бы, чтобы в случае возникновения ошибки по какой-либо причине, исходящей от моей модели, ее мог легко отключить кто-то, не имеющий навыков программирования.
У меня была идея, возможно, каким-то образом поместить мою отредактированную модель в свой пользовательский модуль, объявив, что она будет использоваться вместо стандартной, но если я отключу свою пользовательскую модуль (содержащий модель) из панели администратора будет использоваться модель по умолчанию.
Возможно ли это? И если нет: каков предпочтительный способ переопределения сторонней модели?
1 answers
Вы можете проверить в разделе настройки администратора, отключен ли ваш модуль. Если он отключен, возвращаемое значение перезаписанного метода.
class Your_Module_Model_Xyz extends Another_Module_Model_Xyz
{
public function methodYouWantToRewrite()
{
if (!Mage::getStoreConfigFlag('your/config/path')) {
return parent::methodYouWantToRewrite();
}
// You code ...
}
}