ম্যাজেন্টো 2:। System.xML` কনফিগারেশনের জন্য ডিফল্ট মান


24

ম্যাজেন্টো 1-তে, এটি সম্ভব ছিল

  1. etc/system.xmlফাইলগুলিতে সিস্টেম কনফিগারেশন বিভাগের জন্য একটি ব্যবহারকারী ইন্টারফেস কনফিগারেশন

  2. etc/config.xmlফাইলগুলিতে সেই ক্ষেত্রগুলির জন্য ডিফল্ট মান সেট করুন

নেপথ্য নেপথ্যে ম্যাজেন্টো ডেটা লোড করবে core_config_dataএবং কোনও কিছু সেট না করা থাকলে বিশ্বব্যাপী সেট করা মানগুলিতে ডিফল্ট হবে etc/config.xml। (সরলীকৃত সংস্করণ - এটি এর চেয়ে কিছুটা জটিল )

একই জিনিস কি ম্যাজেন্টো 2 তে করা যেতে পারে? আমি জানি যে এর মাধ্যমে ইউআই উপাদানগুলি কনফিগার করা সম্ভব system.xml- তবে কি এই সেটিংসের জন্য ডিফল্ট মান সেট করা সম্ভব? যদি তা হয় তবে এই মানগুলি কোথায় বা কীভাবে কনফিগার করা উচিত?


আমি অ্যাডমিন স্টোরটিতে একটি এক্সটেনশান বিকাশ করছি >> কনফিগারেশনটি আমার এক্সটেনশান সেটিংটি আমি অ্যাট্রিবিউট ড্রাগ্যাগেবল এবং সারণযোগ্য তালিকা রাখতে চাই এবং তাই এই বিশেষ ক্ষেত্রটির জন্য আমার পছন্দসই টেম্পলেট সেট করা দরকার, তাই আমি কীভাবে কাস্টম টেমপ্লেট পিটিএইচএমএল ফাইল স্থাপন করতে পারি? system.xml এর ভিতরে?
যোগেশ ত্রিবেদী

উত্তর:


42

হ্যাঁ, ম্যাজেন্টো 2 এখনও আপনাকে একটি কনফিগারেশন ফাইলের মধ্যে ডিফল্ট মান নির্ধারণ করতে দেয়। নামস্থান \ moduleName \ ইত্যাদি \ config.xml

<?xml version="1.0"?>
     <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Store:etc/config.xsd">
        <default>
            <sectionname>
                <groupname>
                    <fieldid>1</fieldid>
                </groupname>
            </sectionname>
        </default>
    </config>

সিস্টেম কনফিগারেশন system.xml

<?xml version="1.0"?>

    <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Config:etc/system_file.xsd">
        <system>
            <tab id="namespace_tab" translate="label" sortOrder="1">
                <label>COnfig Title</label>
            </tab>
            <section id="sectionname" translate="label" sortOrder="1" showInDefault="1" 
    showInWebsite="1" showInStore="1">
                <label>Some Title</label>
                <tab>namespace_tab</tab>
                <resource>Namespace_Modulename::system_config</resource>
                <group id="groupname" translate="label" type="text" sortOrder="1" showInDefault="1" 
    showInWebsite="1" showInStore="1">
                    <label>Some Configuration</label>
                    <field id="fieldid" translate="label" type="select" sortOrder="1" 
    showInDefault="1" showInWebsite="1" showInStore="1">
                        <label>Enable in frontend</label>
                        <source_model>Magento\Config\Model\Config\Source\Yesno</source_model>
                    </field>
                 </group>   
            </section>
        </system>
    </config>

1
নোট করুন যে বিভাগের নাম, গোষ্ঠীর নাম এবং ফিল্ডিড প্রতিটি বিভাগের ট্যাগ আইডির সাথে সম্পর্কিত।
Eirik

আমরা কীভাবে এই
পিএফপি

1
@AnandOntigeri ব্যবহার $this->scopeConfig->getValue( $path, \Magento\Store\Model\ScopeInterface::SCOPE_STORE );যেখানে $this->scopeConfigক্লাস __construct () পদ্ধতিতে ইনস্ট্যান্ট করতে হবে। \Magento\Framework\Cache\ConfigInterface $scopeConfig
ভাসিলি বুড়ালাকু

কনফিগার করা মানগুলির পরিবর্তে ডিফল্ট মানগুলি পাওয়া সম্ভব? ভাসিলির মন্তব্যটি বর্তমান মান দেয় তবে আমি কোনও সাইটের বর্তমান কনফিগারেশনকে ডিফল্ট মানগুলির সাথে তুলনা করতে চাই (এবং যদি সম্ভব হয় তবে এটি পুনরায় সেট করুন)। config.xmlম্যানুয়ালি লোড এবং পড়া না করে কি এটি করা যায়?
জ্যাক

@ জ্যাকোআমারসফুর্ট পূর্বনির্ধারিত মানগুলি ওভাররাইট না হওয়া পর্যন্ত কেবল অ্যাক্সেসযোগ্য। ম্যাজেন্টো 2 সিস্টেমের মানগুলিকে কোর_কনফিগ_ডেটা সারণীতে সঞ্চয় করে এবং ডিফল্ট মানগুলি বর্তমান মান থেকে পৃথক করে না।
এরিক

7

Magento2আপনি ডিফল্ট মান একই সেট করতে অনুমতি দেয় Magento1। আপনি যখন থেকে পরিচিতি মডিউলটি দেখেন Magento2,

system.xml যোগাযোগ মডিউল জন্য

<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Config:etc/system_file.xsd">
    <system>
        <section id="contact" translate="label" type="text" sortOrder="100" showInDefault="1" showInWebsite="1" showInStore="1">
            <label>Contacts</label>
            <tab>general</tab>
            <resource>Magento_Contact::contact</resource>
            <group id="contact" translate="label" type="text" sortOrder="10" showInDefault="1" showInWebsite="1" showInStore="1">
                <label>Contact Us</label>
                <field id="enabled" translate="label" type="select" sortOrder="10" showInDefault="1" showInWebsite="1" showInStore="1">
                    <label>Enable Contact Us</label>
                    <source_model>Magento\Config\Model\Config\Source\Yesno</source_model>
                    <backend_model>Magento\Contact\Model\System\Config\Backend\Links</backend_model>
                </field>
            </group>
            <group id="email" translate="label" type="text" sortOrder="50" showInDefault="1" showInWebsite="1" showInStore="1">
                <label>Email Options</label>
                <field id="recipient_email" translate="label" type="text" sortOrder="10" showInDefault="1" showInWebsite="1" showInStore="1">
                    <label>Send Emails To</label>
                    <validate>validate-email</validate>
                </field>
                <field id="sender_email_identity" translate="label" type="select" sortOrder="20" showInDefault="1" showInWebsite="1" showInStore="1">
                    <label>Email Sender</label>
                    <source_model>Magento\Config\Model\Config\Source\Email\Identity</source_model>
                </field>
                <field id="email_template" translate="label comment" type="select" sortOrder="30" showInDefault="1" showInWebsite="1" showInStore="1">
                    <label>Email Template</label>
                    <comment>Email template chosen based on theme fallback when "Default" option is selected.</comment>
                    <source_model>Magento\Config\Model\Config\Source\Email\Template</source_model>
                </field>
            </group>
        </section>
    </system>
</config>

এবং config.xmlযোগাযোগ মডিউল জন্য

<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Store:etc/config.xsd">
    <default>
            <contact>
                <enabled>1</enabled>
            </contact>
            <email>
                <recipient_email>
                    <![CDATA[hello@example.com]]>
                </recipient_email>
                <sender_email_identity>custom2</sender_email_identity>
                <email_template>contact_email_email_template</email_template>
            </email>
    </default>
</config>

আমরা যদি ডিফল্ট মান সেট করতে চাই, তবে এর আইডির মতো আমাদেরও মিলতে হবে

<section id="contact"> <group id="contact"> <field id="enabled">

তাহলে তা হয়ে যায়

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