2017-10-31 6 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

좋아요, Mage_Customer_Model_Form을 확장했습니다.이 클래스는 추상 클래스를 확장합니다. 구성에서도 변경되었습니다. 그러나 여전히 작동하지 않습니다. PHPStorm조차도 그것을 연결하지 않습니다. 내가 뭘 잘못하고 있는지 이해하지 마라. –

+0

$ addressForm = $ this -> _ getModel ('customer/form'); 고객/양식을 클릭하면 PHPStorm이 확장 된 클래스와 파일을 보여줍니다. 하지만 여기에 $ addressErrors = $ addressForm-> validateAjaxData ($ addressData); validateAjaxData는 표시되지 않으며 필요한 경우 실행되지 않습니다. –

+0

XML 경로가 ' '인지 확인하십시오. 또한'echo get_class ($ addressForm)'을 사용하여 다른 확장이 이미 그것을 재정의하고 있는지 점검하십시오. – Joe