একটি মডিউলের config.xml থেকে কীভাবে ডেটা পাবেন


14

মডিউল এতে আমার মডিউল বি এবং সি এর ফাইল কনফিগারেশন xML থেকে কিছু তথ্য নেওয়া দরকার । এর জন্য কি কোনও পদ্ধতি বা ক্লাস নিবেদিত আছে?

এস্পেশিয়ালি আমাকে এক্সএমএল কাঠামো এবং নোডের মানগুলি পাওয়া দরকার <default>যাতে আমি মডিউল বি এবং সি এর সিস্টেম কনফিগারেশনের ডিফল্ট মানগুলি পুনরুদ্ধার করতে পারি নীচে উইশলিস্ট মডিউলের কনফিগ.এক্সএমএল থেকে উদাহরণ:

<config>
    <default>
        <wishlist>
            <general>
                <active>1</active>
            </general>
            <email>
                <email_identity>general</email_identity>
                <email_template>wishlist_email_email_template</email_template>
            </email>
        </wishlist>
    </default>
</config>

আমি যতদূর জানি সমস্ত মডিউলের কনফিগারেশন.এমএমএল ফাইলগুলি লোড করেছিলাম, তাই আমি ভাবছিলাম যে এই ডেটাটি ইতিমধ্যে ক্যাশে হয়েছে এবং কোনওভাবে ক্যাশে থেকে পুনরুদ্ধার করা যেতে পারে? যদি তা না হয় তবে কীভাবে এটি পুনরুদ্ধার করবেন?

উত্তর:


20

আপনি এই জাতীয় কনফিগারেশন থেকে একটি নির্দিষ্ট নোড পেতে পারেন।

$value = Mage::getConfig()->getNode('default/wishlist/general/active');

এটির মান পুনরুদ্ধার করা উচিত

<default>
    <wishlist>
        <general>
            <active>1</active> <!-- this value -->
        </general>
    </wishlist>
</default>

সমস্যাটি হ'ল এটি কোনও নির্দিষ্ট ফাইল থেকে মানটি পুনরুদ্ধার করে না। এটি মার্জ করা কনফিগারেশন থেকে মান পায় gets

আপনি যদি কোনও নির্দিষ্ট ফাইল থেকে মান চান তবে এটি করুন।

$configFile = Mage::getConfig()->getModuleDir('etc', 'Mage_Wishlist').DS.'config.xml';
$string = file_get_contents($configFile);
$xml = simplexml_load_string($string, 'Varien_Simplexml_Element');

আপনি থাকবে $xmlপরিবর্তনশীল লোড XML ফাইল এবং আপনার ব্যবহার করতে পারেন xpathএকটি নির্দিষ্ট নোড খুঁজে।


মানটি কলামে সংজ্ঞায়িত করা হলে ডিবি থেকে পুনরুদ্ধার করা যেতে পারে path মধ্যে core_config_data, খুব। তবে কেবল এক্সএমএলের কনফিগার ফাইলগুলিতে (এটি পূর্বনির্ধারিত)
ভিক্টর আগুইলার

6

আপনি যে config.xmlকোনও মডিউলটির মাধ্যমে অ্যাক্সেস করতে পারেন Mage::getConfig। সমস্ত এক্সএমএল একটি স্ট্রিংয়ে একত্রীকরণ করা হয়েছে যাতে আপনি প্রকৃতপক্ষে সঠিক মডিউলটি নির্দিষ্ট করতে পারবেন না তবে আপনি ট্যাগের পথে ফিল্টার করতে পারেন।

$default_xml = Mage::getConfig()
   ->loadModulesConfiguration('config.xml')
   ->getNode('default/wishlist')
   ->asXML(); 

আপনি উপরের কোডটি সম্পাদন করতে গিয়ে মডিউল বি এবং সি- তে মডিউল এ- তে নির্ভরতা যুক্ত করতে হবে theirconfig.xml

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.