Я пытаюсь переопределить объекты модели Клиента для Адреса и Клиента.Он работает в моей среде разработки, но я не могу заставить его работать в производстве.Они оба используют Magento 1.6.0.0.
Есть две области, в которых я могу ошибаться:
- Возможно, я не загрузил все необходимые файлы, но не знаю, что пропустил.Я пробовал FTP'ить всю директорию модуля, поэтому, если есть дополнительные файлы, они должны быть из другой части кода.
- Отсутствуют данные из / неверные данные в базе данных.Это кажется более вероятным, но я не уверен, где искать (я установил данные напрямую через PhpMyAdmin, а не использовал для этого установочный файл Magento - это собственный проект Magento, поэтому не нужно воспроизводить / копировать это где-либо еще вбудущее.)
В любом случае, вот что у меня есть, на случай, если я делаю что-то не так на уровне кода.
Переопределяет
class Zac_Attack_Model_Entity_Address extends Mage_Customer_Model_Entity_Address
{
protected function _afterSave( Varien_Object $address )
{
// this method never gets called.
}
}
class Zac_Attack_Model_Entity_Customer extends Mage_Customer_Model_Entity_Customer
{
protected function _saveAddresses( Varien_Object $address )
{
// this method never gets called.
}
}
config.xml
<models>
<customer_entity>
<rewrite>
<address>Zac_Attack_Model_Entity_Address</address>
<customer>Zac_Attack_Model_Entity_Customer</customer>
</rewrite>
</customer_entity>
</models>
Переопределение заключается в том, что мы можем добавить третий тип основного адреса к адресам клиентов.Атрибут правильно настроен в базе данных для нового адреса - если я вручную установлю адрес в качестве адреса «default_custom», он будет отображаться в деталях клиента как во внешнем, так и во внутреннем интерфейсе, но без объекта модели система выиграла ».введите адрес.Если я не могу найти то, что мне не хватает, я всегда могу переместить логику в различные функции «Сохранить», но я бы предпочел придерживаться подхода, уже принятого в коде ядра Magento.
Любые идеи, чтоЯ тут не так делаю?