একটি তৃতীয় পক্ষের এক্সটেনশান রয়েছে যা একটি নির্দিষ্ট ম্যাজেন্টো কোর শ্রেণীর পুনর্লিখন করে। এটি কোনও ব্লক, সহায়ক বা মডেল কিনা তা বিবেচ্য নয়, তবে এই ক্ষেত্রে এটি একটি মডেল। এখন আমি মুখোমুখি হয়েছি যে এই পুনর্লিখনটি খারাপ এবং আমি তৃতীয় পক্ষের এক্সটেনশন পরিবর্তন না করে এটি অক্ষম করতে চাই। অতএব, আমি একটি কাস্টম এক্সটেনশন লিখি যা তৃতীয় পক্ষের এক্সটেনশনের উপর নির্ভর করে। তৃতীয় পক্ষের পুনরায় লেখার অক্ষম করার সর্বোত্তম উপায় কী? আমি যে নিরাপদটি ভাবতে পারি তা হ'ল একটি কাস্টম পুনর্লিখনকে সংজ্ঞায়িত করা, যা তৃতীয় পক্ষের পুনরায় লেখার পরিবর্তে ব্যবহৃত হয়:
<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
{
}
এটি কাজ করে তবে খুব বেশি ভাল লাগে না। পর্যবেক্ষকদের সম্পর্কে চিন্তাভাবনা করে, কেবল সেগুলি সেট করে কনফিগারেশন.এক্সএমএল এর মাধ্যমে এগুলি অক্ষম করা সম্ভব disabled
। পুনরায় লেখার মাধ্যমে কি এরকম কিছু সম্ভব? আমি নিম্নলিখিতটি ব্যবহার করার চেষ্টা করেছি এবং এটি কাজ করে:
<global>
<models>
<mage_core>
<rewrite>
<sth></sth>
</rewrite>
</mage_core>
</models>
</global>
তবে তা করা কি নিরাপদ? এটি কি সমস্ত সংস্করণে কাজ করে? আমি কখনই দেখিনি যে বন্যের মধ্যে, তাই আমি জিজ্ঞাসা করছি।