В классе Invoice.php есть функция sendEmail в приложении \ code \ core \ Mage \ Sales \ Model \ Order \ Invoice.php, который я хотел изменить, поэтому я решил расширить класс и внести изменения в локальный модуль.Проблемы возникают при расширении приложения code core Mage Sales Model Order Invoice.php class
Я начал с создания каталога на сервере под названием
/public_html/приложение/код/местные/MyModule
Затем я добавил config.xml следующим образом: -
/public_html/приложение/код/местные/MyModule/Продажи/и т.д., которая имеет следующий config.xml
<?xml version="1.0"?>
<config>
<modules>
<Mymodule_Sales>
<version>0.1</version>
</Mymodule_Sales>
</modules>
<global>
<models>
<sales>
<rewrite>
<order_invoice>Mymodule_Sales_Model_Order_Invoice</order_invoice>
</rewrite>
</sales>
</models>
</global>
</config>
затем я создал другую папку следующим
/public_html/приложение/код/местные/MyModule/Продажа/Модель
который находится Invoice.php
<?php
class Mymodule_Sales_Model_Order_Invoice extends Mage_Sales_Model_Order_Invoice
{
/**
* Send email with invoice data
*
* @param boolean $notifyCustomer
* @param string $comment
* @return Mage_Sales_Model_Order_Invoice
*/
public function sendEmail($notifyCustomer = true, $comment = '')
{
Я отключил исходную функцию в исходном классе, и когда я пытаюсь отправить электронная почта это дает мне ошибку.
Что я делаю неправильно?
Файл находится в пути, который вы определили –
Invalid метод Oeditor_Ordereditor_Model_Order_Invoice :: SendEmail (Array ( [0] => 1 [1] => ) ) –
Существует аналогичный пост здесь HTTP: //stackoverflow.com/questions/8961737/magento-cannot-override-core-model –