Magento переопределяет класс Mage_Core_Model_Email - PullRequest
0 голосов
/ 01 февраля 2012

Я пытаюсь расширить функциональность в классе Mage_Core_Model_Email.Я хотел бы переопределить модель, чтобы изменить вызов zend_mail для отправки вложений с электронными письмами.

Я уже использую расширение captcha outsourceonline, чтобы добавить защитный текст ко всем моим формам, и это расширяет контактыКонтроллер индекса.(Скажем, на всякий случай это может мешать моему коду ... хотя я так не думаю).

Я определил новый модуль "Мой" и пакет "ядро":

  • Я создал модуль xml в app / etc .... и включил модуль, я проверил, распознается ли модуль и активен ли он.
  • создал локальный репо модуля ..../local/My/Core, содержащий 2 папки ... Модель и т. д.
  • создал мой config.xml для переопределения класса электронной почты
  • создал мой новый класс ... расширяя старыйкласс модели электронной почты.

код config.xml ...

<?xml version="1.0"?>
<config>
<modules>
    <My_Core>
        <version>0.1.0</version>  
    </My_Core>
</modules>
<global>
        <models>
        <core>
            <rewrite>
                <email>
                    My_Core_Model_Emailwattachments
                </email>
            </rewrite>
        </core>
        </models>
    </global>
</config>

И объявление моего класса ...

class My_Core_Model_Emailwattachments extends Mage_Core_Model_Email
{

Я добавилvar_dump внутри конструктора.

Когда запускаете мою форму контактов и отправляете электронное письмо ... этот класс не запускается.Я проверил, что функция, которую я пытаюсь переопределить в исходном классе, работает .... но не могу заставить его принять мой класс в качестве альтернативы.

Попробовал много комбинаций тегов внутри конфигурации.xml, основываясь на примерах в Интернете .... но это просто не сработает.

Кто-нибудь видит или знает, что мне не хватает?Могу ли я сделать еще какие-нибудь тесты, чтобы понять, почему это не работает?

1 Ответ

0 голосов
/ 01 февраля 2012

Я думаю, вам просто нужно сообщить Magento, что ваш модуль включает модели ...

<models>
    <core>
        <rewrite>
            <email>
                My_Core_Model_Emailwattachments
            </email>
        </rewrite>
    </core>
    <mycore>
        <class>My_Core_Model</class>
    </mycore>
</models>
...