มีส่วนขยายของบุคคลที่สามซึ่งเขียนคลาส Magento core เฉพาะใหม่ มันไม่สำคัญว่าจะเป็นบล็อคตัวช่วยหรือโมเดล แต่ในกรณีนี้มันเป็นโมเดล ตอนนี้ฉันพบว่าการเขียนซ้ำนี้ไม่ดีและฉันต้องการปิดการใช้งานโดยไม่เปลี่ยนนามสกุลของบุคคลที่สาม ดังนั้นฉันเขียนส่วนขยายที่กำหนดเองซึ่งขึ้นอยู่กับส่วนขยายของบุคคลที่สาม วิธีที่ดีที่สุดในการปิดการใช้งานการเขียนซ้ำของบุคคลที่สามคืออะไร สิ่งที่ปลอดภัยที่ฉันคิดได้คือการกำหนดการเขียนซ้ำแบบกำหนดเองซึ่งใช้แทนการเขียนโดยบุคคลที่สาม:
<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>
แต่มันปลอดภัยที่จะทำเช่นนั้น? ใช้ได้กับทุกรุ่นหรือไม่ ฉันไม่เคยเห็นว่าในป่านั่นคือเหตุผลที่ฉันถาม