मैं एक सामान्य उत्तर देने की कोशिश करूँगा।
टेम्प्लेट कैसे बदलें
अपने विषय में, आप phtml
डिफ़ॉल्ट थीम या मूल विषय से किसी भी फ़ाइल को ओवरराइड कर सकते हैं । मूल फ़ाइल की प्रतिलिपि बनाएँ app/design/frontend/[package]/[theme]/template/[path/to/phtml]
और अपने परिवर्तन करें।
यदि आपके पास अभी तक एक परियोजना विशिष्ट कस्टम विषय नहीं है, उदाहरण के लिए क्योंकि आपने अभी एक विषय खरीदा है, तो एक पर बनाना सुनिश्चित करें
app/design/frontend/[original-package]/[project-name]
यह इनहेरिट करेगा [original-package]/[default]
, आपको डिफ़ॉल्ट रूप से सब कुछ कॉपी करने की आवश्यकता नहीं है, बस उन फ़ाइलों को जहां आपको बदलाव करने की आवश्यकता है।
मॉड्यूल विशिष्ट परिवर्तन
phtml
फ़ाइल को ओवरराइड करने का एक विकल्प , टेम्पलेट पथ को बदलना है। यह आमतौर पर इस तरह XML लेआउट में किया जा सकता है:
<reference name="the-block-name">
<action method="setTemplate"><name>path/to/new/template.phtml</name></action>
</reference>
लेकिन इसका उपयोग उन मॉड्यूलों द्वारा किया जाना है, जिन्हें विषय विशिष्ट परिवर्तनों के लिए नहीं, बल्कि किसी टेम्पलेट को बदलने की आवश्यकता है। नया टेम्प्लेट base/default
तब होना चाहिए ।
स्थानीय का उपयोग कैसे करें। xml / theme.xml
local.xml
फ़ाइल वास्तविक विषय का उपयोग कर रहे, यानी की सूची में होना चाहिए
app/design/frontend/[package]/[theme]/layout
local.xml
फ़ॉलबैक पदानुक्रम में एकाधिक फ़ाइलों पर ध्यान नहीं दिया जाता है। इनमें से पहला जो पाया जा सकता है, उपयोग किया जाता है:
app/design/frontend/[package]/[theme]/layout/local.xml
app/design/frontend/[package]/default/layout/local.xml
app/design/frontend/base/default/layout/local.xml
(डिफ़ॉल्ट पदानुक्रम और कोई कस्टम परिभाषित पदानुक्रम मानकर)
कैसे करें बदलाव
आपके पास केवल स्थानीय। Xml में संशोधन होना चाहिए, न कि उन परिभाषाओं को दोहराना जो पहले से ही मूल XML फाइलों में हैं। इसका मतलब यह भी है, सीधे फ़ाइलों में परिवर्तन करने के लिए डिफ़ॉल्ट विषय से XML फ़ाइलों की प्रतिलिपि बनाने से बचें। अपने विषय की layout
निर्देशिका को साफ रखें !
मौजूदा ब्लॉक को पूरी तरह से हटाने के लिए, और एक अभिभावक से दूसरे में एक ब्लॉक को स्थानांतरित करने के लिए या मौजूदा ब्लॉक पर किसी भी अन्य तरीकों को कॉल करने के विशिष्ट तत्व local.xml
हैं ।<remove>
<action method="unsetChild">
<action method="append">
Magento 1.9
Magento 1.9 के साथ शुरू, सबसे अच्छा अभ्यास वास्तव में layout/local.xml
इन परिवर्तनों के लिए उपयोग नहीं करना है , लेकिनetc/theme.xml
संक्षेप में, आप ऐप / डिज़ाइन / फ्रंटएंड / अपने पैकेज / आदि / थीम.एक्सएमएल में एक लेआउट अपडेट जोड़ सकते हैं। लाभ यह है कि आपके लेआउट अपडेट के लोड ऑर्डर पर आपका नियंत्रण है। Magento 1.9 से पहले local.xml को हमेशा अंतिम लोड किया गया था, और लेआउट निर्देशों को इसके बाद निष्पादित किया जाना असंभव था।
मैं प्रोजेक्ट-विशिष्ट थीम संशोधनों के लिए local.xml का उपयोग नहीं कर रहा हूं। मुझे लगता है कि local.xml का उपयोग केवल पिछड़ी संगतता कारणों (1.9 और उससे ऊपर) में किया जाता है क्योंकि इसका कोई और उपयोग करने का कोई मतलब नहीं है। Magento 2 ( https://github.com/magento/magento2/issues/1037 ) में Local.xml भी समाप्त कर दिया गया है ।
स्रोत: https://erfanimani.com/dont-use-local-xml/