লোকাল.এক্সএমএল ছাড়া কি কোনও স্থানীয় থিম লেআউট এক্সএমএল ফাইল রয়েছে?


14

আমি নিম্নলিখিত ফাইলটি তৈরি এবং সম্পাদনা করে একটি থিম তৈরি করেছি:

frontend/mypackage/default/layout/local.xml

আমার কাছে একটি স্টোর ভিউ আছে "সাইট 1", এবং "মাইপ্যাকেজ" এর ডিফল্ট লোকাল.এক্সএমএল থেকে ব্যতিক্রম করতে চাই, তাই আমি এই ফাইলটি তৈরি করেছি:

frontend/mypackage/site1/layout/local.xml

যাইহোক, আমি এই ফাইলটি তৈরি করার সাথে সাথে, Magento ডিফল্ট স্থানীয়। XML পরিবর্তনগুলি এড়িয়ে চলে।

ডিফল্ট থেকে লোকাল.এক্সএমএল ব্যবহার করতে এবং তাতে সাইট 1 এর লোকাল.এক্সএমএল পরিবর্তনগুলি যুক্ত করতে আমি কীভাবে বলব?


কোনভাবেই না. দুঃখিত। যাইহোক ভাল প্রশ্ন।
ব্যবহারকারী 487772

আমি ঠিক এই একই দৃশ্যের মুখোমুখি। আমি ডিফল্ট থিম থেকে লোকাল.এক্সএমএল প্রসারিত করব, এটি পুরোপুরি প্রতিস্থাপন করব না। এটি খুব খারাপ এটি এটিকে পুরোপুরি নির্বাচিত উপ-থিমের সাথে প্রতিস্থাপন করে।
এক্সেল

ডিফল্ট। Xml এর মতো কিছুই নেই? অথবা আমরা কি ডিএমএল.এক্সএমএল পরীক্ষা করতে এক্সএমএল-ফাইলগুলিকে অনুসরণ করে এমন ম্যাজেন্টো কোর কোডটি হ্যাক করতে পারি?
জেরার্ড নিজবোয়ার

উত্তর:


7

ম্যাজেন্টো ১.৯ থেকে আপনি কাস্টম লেআউট আপডেটগুলি এর etc/theme.xmlমতো যুক্ত করতে পারেন :

<theme>
    <layout>
        <updates>
            <my_theme>
                <file>my_theme.xml</file>
            </my_theme>
        </updates>
    </layout>
</theme>

আপনি যদি নিজের থিম নির্দিষ্ট লেআউটগুলি ব্যবহারের পরিবর্তে এটি নির্দিষ্ট করে local.xmlথাকেন তবে চাইল্ড থিমটিতে অন্য একটি আপডেট যুক্ত করা সহজ।

দুর্ভাগ্যক্রমে, একই সমস্যাটি থিম.এক্সএমএল নিয়ে যায় যা আপনার আসল থিম থেকে শুধুমাত্র একটি ব্যবহার করা হয়, পিতামাতার থিমগুলির নয়। তবে নকলটি অনেক কম।

theme.xmlশিশু থিমের উদাহরণ :

<theme>
    <layout>
        <updates>
            <my_theme>
                <file>my_theme.xml</file>
            </my_theme>
            <my_child_theme>
                <file>my_child_theme.xml</file>
            </my_child_theme>
        </updates>
    </layout>
</theme>

উত্স এবং আরও তথ্য: http://alanstorm.com/magento_infinite_fallback_theme_xML


5

ম্যাজেন্টো স্থানীয়.এক্সএমএল ফাইলগুলি থেকে স্থানীয়। এক্সএমএল পরিবর্তনগুলিকে মার্জ করে না। ম্যাজেন্টো থিম ফলব্যাক যেভাবে কাজ করে তা হ'ল বর্তমান থিম / প্যাকেজটিতে পাওয়া যে কোনও ফাইল পছন্দসই হবে এবং একইভাবে নামযুক্ত অন্য কোনও থিম / প্যাকেজ ফাইলের চেয়ে বেশি ব্যবহৃত হবে।

এইভাবে আপনি মার্জ করা ওভাররাইড তৈরি করতে পারবেন না। এটি ম্যাজেন্টো 2 এ সম্ভব হবে তবে ম্যাজেন্টো 1.x তে এটি সম্ভব নয়

দুর্ভাগ্যক্রমে আপনাকে এটিকে ডিফল্ট থেকে আপনার স্থানীয় থিমে অনুলিপি করতে হবে এবং সেখানে নিজের পরিবর্তন করতে হবে।

ভাগ্য সুপ্রসন্ন হোক.


2
+1 টি। এটি অবশ্যই প্রোগ্রামাগতভাবে অর্জন করা যেতে পারে তবে অবশ্যই চেষ্টা করার উপযুক্ত হবে না।
ব্যবহারকারীর 487772

3

ফিল একদম ঠিক আছে তবে তাত্ত্বিকভাবে একটি কার্যবিবরণী রয়েছে (যদিও তা সুন্দর নয়)।

আপনি একটি কাস্টম মডিউল তৈরি করতে পারেন যা লেআউট আপডেটটি প্রবর্তন করবে। তারপরে মডিউলটিতে আপনি স্টোর ভিউটি প্রয়োজনীয় নয় কিনা তা পরীক্ষা করে দেখতে পারেন এবং এই লেআউট আপডেটটি সরাতে পারেন।

এই পদ্ধতির খারাপ জিনিস হ'ল আপনি স্টোর ভিউটিকে হার্ডকোড করবেন। এবং সামগ্রিকভাবে এটি দেখতে সুন্দর দেখাচ্ছে না।

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