मैं एक ही Magento दो अलग-अलग वेबसाइटों चल स्थापित है पर Magento लेआउट अद्यतन परिभाषित करने के लिए है। एक ईबुक बेचता है और दूसरा नहीं तो व्यापार टीम आवेदन के मेरा खाता क्षेत्र में ग्राहक नेविगेशन ब्लॉक से "मेरे डाउनलोड" लिंक को हटाना चाहती है।यह संभव एक प्रति दुकान आधार
मैं लिंक डिजाइन/दृश्यपटल/आधार/लेआउट/downloadable.xml में परिभाषित देख सकते हैं, लेकिन किसी भी तरह से परिभाषित किया है कि मुझे वेबसाइटों में से एक पर लिंक को निष्क्रिय करते हैं नहीं देख सकता। जाहिर है, मैं वैश्विक स्तर पर बंद करने के लिए इस एक्सएमएल को ओवरराइड कर सकता हूं लेकिन मुझे स्कोप में सीमित होने की आवश्यकता है।
कैसे आप एक बहु साइट Magento स्थापना में एक भी वेबसाइट या स्टोर पर लेआउट ओवरराइड परिभाषित करते हैं?
नीचे प्रतिक्रियाओं के आधार पर, मैंने किया है निम्नलिखित:
बनाया एप्लिकेशन/स्थानीय/दाना/ग्राहक/ब्लॉक/खाता/Navigation.php और एक विधि removeLink() जो कोर कोड में नहीं है जोड़ा ।
अगर मैं local.xml में निम्नलिखित परिवर्तन करें, डाउनलोड लिंक हटा दिया जाता है:
<?xml version="1.0" encoding="UTF-8"?>
<layout>
<default>
<remove name="catalog.compare.sidebar"/>
</default>
<customer_account>
<reference name="customer_account_navigation">
<action method="removeLink" translate="label" module="downloadable"> <name>downloadable_products</name></action>
</reference>
</customer_account>
</layout>
लेकिन, अगर एक विशिष्ट दुकान लक्षित करने के लिए प्रयास करते हैं, ऐसा नहीं है। जैसे
<?xml version="1.0" encoding="UTF-8"?>
<layout>
<default>
<remove name="catalog.compare.sidebar"/>
</default>
<STORE_mm>
<customer_account>
<reference name="customer_account_navigation">
<action method="removeLink" translate="label" module="downloadable"> <name>downloadable_products</name></action>
</reference>
</customer_account>
</STORE_mm>
</layout>
यदि आप अलग अलग विषयों का उपयोग तो यह वास्तव में आसान –