কোড / কোর সিস্টেম.এক্সএমএল ফাইলটি কীভাবে কোড / স্থানীয়তে ম্যাজেন্টোতে অনুলিপি করবেন


18

আমি অ্যাডমিন প্যানেলে কিছু কাস্টমাইজেশন চেয়েছিলাম যাতে আমি পরিবর্তন করেছি

   1) "app/code/core/../system.xml file its working fine. 

তবে আমি মূল ফোল্ডারের ভিতরে কোড পরিবর্তন করতে চাই না। আমার সংস্করণ পরিবর্তন কারণ।

সুতরাং আমি সেই ফাইলটি আমার স্থানীয় ফোল্ডারে স্থানান্তরিত করতে চাই তবে এটি কাজ করছে না

 2) "app/code/local/../system.xml" files is not working

সিস্টেম.এক্সএমএল ফাইলকে কীভাবে ওভাররাইড করতে হয় দয়া করে আমাকে কেউ গাইড করতে পারেন?

ধন্যবাদ

উত্তর:


28

system.xmlফাইলগুলির জন্য এটি শ্রেণিবদ্ধ ফাইলগুলির মতো কাজ করে না। system.xmlফাইল Magento সক্রিয় মডিউল থেকে সংগ্রহ করা হয়। কেবল localফোল্ডারে একটি অনুলিপি করার অর্থ এটি মডিউলটিতে নেই, কারণ মডিউল ঘোষণার ফাইলটি এখনও বলে যে মডিউল coreকোডপুলের অন্তর্গত ।
আপনি যদি কোনও বিভাগে নতুন ক্ষেত্র যুক্ত করতে চান বা কিছু ক্ষেত্রকে ওভাররাইড করতে চান তবে আপনার নিজের নিজস্ব মডিউল তৈরি করতে হবে।
আপনি কীভাবে বিভাগে একটি নতুন ক্ষেত্র যুক্ত Catalog->Frontendকরতে পারেন এবং একই বিভাগে আপনি কীভাবে ওভাররাইড করতে পারেন তার একটি উদাহরণ এখানে ।
ধরা যাক আপনার মডিউলটি বলা হয়েছে Easylife_Catalog
আপনার নিম্নলিখিত ফাইলগুলির প্রয়োজন হবে:
app/etc/modules/Easylife_Catalog.xml- ঘোষণার ফাইল

<?xml version="1.0"?>
<config>
    <modules>
        <Easylife_Catalog>
            <active>true</active>
            <codePool>local</codePool>
            <depends>
                <Mage_Catalog />
            </depends>
        </Easylife_Catalog>
    </modules>
</config>

app/code/local/Easylife/Catalog/etc/config.xml - কনফিগারেশন ফাইল

<?xml version="1.0"?>
<config>
    <modules>
        <Easylife_Catalog>
            <version>0.0.1</version>
        </Easylife_Catalog>
    </modules>
</config>

app/etc/local/Easylife/Catalog/etc/system.xml- সিস্টেম-> কনফিগারেশন ফাইল
আসুন ধরা যাক আপনি List Modeকেবলমাত্র বিশ্বব্যাপী স্তরে (কোনও ওয়েবসাইট এবং স্টোর দর্শন স্তর নয়) ফিল্ডটি উপলভ্য করতে চান । সেটিংয়ের পথটি catalog/frontend/list_mode। তারপরে এই system.xmlচেহারাটি দেখতে পাবেন:

<?xml version="1.0"?>
<config>
    <sections>
        <catalog><!-- first part of the path -->
            <groups>
                <frontend><!-- second part of the path -->
                    <fields>
                        <list_mode><!-- third part of the path -->
                            <show_in_website>0</show_in_website><!-- this will override the core value -->
                            <show_in_store>0</show_in_store><!-- this will override the core value -->
                        </list_mode>
                    </fields>
                </frontend>
            </groups>
        </catalog>
    </sections>
</config>

এখন ধরা যাক আপনি customএকই কনফিগার বিভাগে নতুন একটি ক্ষেত্র যুক্ত করতে চান । এখন উপরের এক্সএমএল হয়ে যায়

<?xml version="1.0"?>
<config>
    <sections>
        <catalog><!-- first part of the path -->
            <groups>
                <frontend><!-- second part of the path -->
                    <fields>
                        <list_mode><!-- third part of the path -->
                            <show_in_website>0</show_in_website><!-- this will override the core value -->
                            <show_in_store>0</show_in_store><!-- this will override the core value -->
                        </list_mode>
                        <custom translate="label"><!-- your new field -->
                            <label>Custom</label>
                            <frontend_type>text</frontend_type>
                            <sort_order>1000</sort_order>
                            <show_in_default>1</show_in_default>
                            <show_in_website>1</show_in_website>
                            <show_in_store>1</show_in_store>
                        </custom>
                    </fields>
                </frontend>
            </groups>
        </catalog>
    </sections>
</config>

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


ধন্যবাদ। আমার কাছে কেবল সামান্য নোট আছে, ট্যাগ <d depends> প্রয়োজনীয় নয়, কারণ স্থানীয় মডিউলগুলি সর্বদা মূল মডিউলগুলির পরে লোড হয়।
জিও চিমিয়েল

2
@ JiříChmiel। এহুম ... না তারা নেই। সমস্ত মডিউল ঘোষণা ফাইল ( app/etc/modules) লোড করা হয়, তারপরে সমস্ত <depends> ট্যাগ পার্স করা হয় এবং মডিউলগুলির একটি শ্রেণিবিন্যাস স্থাপন করা হয়। তারপরে মডিউলগুলি সেই ক্রমে লোড হয়।
মারিয়াস

দুর্দান্ত উত্তরের জন্য ধন্যবাদ। আমার জন্য, অ্যাপ্লিকেশন / ইত্যাদি / মডিউলগুলি / ইজাইলাইফ_গ্যাটালগ.এক্সএমএল <নির্ভরতা> এটাই আমি অনুপস্থিত ছিল। তা ছাড়া এটি দেখে মনে হয়েছে যে ঘোষণাগুলি সংশোধন করার জন্য আমার স্থানীয় সিস্টেম.এক্সএমএল ফাইলের পরিবর্তনের চেয়ে মূল সিস্টেম.এক্সএমএল ফাইলের পক্ষে।
PromInc
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.