2017-10-31 1 views
0

新しいメソッドMage_Eav_Model_Formを追加したいので、それを拡張したいと思います。 そうしていますが、拡張機能は動作していません。私は追加したい例えばMagento 1.9.1モデルは機能しません

class Vendor_Mymodule_Model_Eav_Form extends Mage_Eav_Model_Form 

abstract class Mage_Eav_Model_Form 

と私:

<models> 
<vendor_mymodule> 
    <class>Vendor_Mymodule_Model</class> 
    <resourceModel>tw_subscriptionheader_resource</resourceModel> 
</vendor_mymodule> 
<vendor_mymodule_resource> 
    <class>Vendor_Mymodule_Model_Resource</class> 
</vendor_mymodule_resource> 
<eav> 
    <rewrite> 
     <form>Venor_Mymodule_Model_Eav_Form</form> 
    </rewrite> 
</eav> 
ここ

がオリジナルモデルです:

ここで設定から私の一部であり、
public function something() {} 

答えて

2

抽象クラスはオーバーライドできません。代わりにMage_Eav_Model_Formを拡張する非抽象クラスをオーバーライドする必要があります。

詳細情報はhttps://magento.stackexchange.com/a/52750/9276です。

+0

OK、私はMage_Customer_Model_Formを拡張しました。抽象クラスを拡張します。設定でも変更されました。しかし、まだ動作していません。 PHPStormはそれをリンクしません。私が間違っていることを手に入れないでください。 –

+0

$ addressForm = $ this - > _ getModel( 'customer/form');顧客/フォームをクリックすると、拡張されたクラスとファイルが表示されます。 ここで$ addressErrors = $ addressForm-> validateAjaxData($ addressData); validateAjaxDataは表示されず、必要なときに起動しません。 –

+0

XMLのパスが ' 'であることを確認してください。また、 'echo get_class($ addressForm)'を試して、別の拡張がすでにそれを上書きしているかどうかを確認してください。 – Joe

関連する問題