특정 Magento 코어 클래스를 다시 작성하는 타사 확장이 있습니다. 블록, 도우미 또는 모델인지 여부는 중요하지 않지만이 경우 모델입니다. 이제이 다시 쓰기가 잘못되어 타사 확장을 변경하지 않고 비활성화하고 싶습니다. 따라서 타사 확장에 따라 사용자 지정 확장을 작성합니다. 타사 재 작성을 비활성화하는 가장 좋은 방법은 무엇입니까? 내가 생각할 수있는 안전한 방법은 타사 재 작성 대신 사용되는 사용자 지정 재 작성을 정의하는 것입니다.
<global>
<models>
<custom_extension>
<class>Custom_Extension_Model</class>
</custom_extension>
<mage_core>
<rewrite>
<sth>Custom_Extension_Model_Sth</sth>
</rewrite>
</mage_core>
</models>
</global>
Sth.php
클래스는 Mage 클래스에서 직접 확장되므로 타사 재 작성을 비활성화합니다.
class Custom_Extension_Model_Sth extends Mage_Core_Model_Sth
{
}
이것은 작동하지만 기분이 좋지 않습니다. 옵저버에 대해 생각하면 config.xml을 통해서만을 비활성화하여 비활성화 할 수 있습니다 disabled
. 다시 작성하면 이와 같은 것이 가능합니까? 나는 다음을 사용하려고 시도했지만 작동합니다.
<global>
<models>
<mage_core>
<rewrite>
<sth></sth>
</rewrite>
</mage_core>
</models>
</global>
그러나 그렇게하는 것이 안전합니까? 모든 버전에서 작동합니까? 나는 그것을 야생에서 본 적이 없기 때문에 내가 묻는 이유입니다.