हटाएं सभी लेआउट हैंडल विलय किए जाने के बाद नोड्स को संसाधित किया जाएगा, और ब्लॉक को हटाने के लिए एक अच्छा तरीका है, भले ही कौन से लेआउट हैंडल ब्लॉक को लोड करते हैं; आप बस इसे कुछ हैंडल के लिए पूरी तरह से छुटकारा पाना चाहते हैं! यह पुनरावर्ती भी हटा देता है, इसलिए आपको निर्दिष्ट करने की आवश्यकता है लेआउट हैंडल है।
दूसरी ओर, आप केवल एक विशिष्ट लेआउट हैंडल में संदर्भ से ब्लॉक को हटाना चाहते हैं, इस मामले में आपको unsetChild का उपयोग करना चाहिए। इसे अक्सर किसी संदर्भ से ब्लॉक को निकालने के लिए उपयोग किया जाता है, लेकिन फिर उसी ब्लॉक को एक अलग स्थिति के साथ दोबारा डालें। यह हटाने के साथ संभव नहीं होता।
आपके बहुत विशिष्ट उदाहरण में, Magento डेवलपर्स ने इसे कुछ लचीलापन देने के लिए इस्तेमाल किया। मान लीजिए कि मैं खाते सूचकांक पृष्ठ के लिए एक उप-पृष्ठ जोड़ा, और निम्नलिखित लेआउट हैंडल लाद दिए गए हैं:
- डिफ़ॉल्ट
- ...
- customer_account_index
- customer_account_index_subpage
और अब मान इस उपपृष्ठ पर मैं वास्तव में 'catalog_compare_sidebar' ब्लॉक चाहता हूं। अगर उन्होंने 'हटाएं' इस्तेमाल किया था, तो मैं इस ब्लॉक को (इस विशिष्ट नाम के साथ) जोड़ने में सक्षम नहीं होगा क्योंकि 'हटाएं' संसाधित किया जाएगा - इसके बाद- मैंने स्वयं ब्लॉक को जोड़ा था।
यह आपको आसानी से एक फ़ाइल से परिवर्तन करने की अनुमति देता है; local.xml।
स्रोत
2011-06-15 13:17:49
इस तरह के एक अच्छे उत्तर के लिए धन्यवाद। –
ग्रेट स्पष्टीकरण, धन्यवाद! – Snowcore
मुझे कोई समस्या है जब मुझे प्यार है और Google मुझे इस तरह की एक महान पोस्ट के साथ जोड़ता है! डैनियल बहुत बहुत धन्यवाद। इससे मुझे मेरी समस्या का एहसास हुआ। –