मेरे पास एक कस्टम कंट्रोलर है जो उस रास्ते पर पहुँचा जा रहा है /custommodule/customer/info
जो नोड 2columns-left.phtml
पर दिए गए टेम्प्लेट root
को निम्न प्रकार से लोड कर रहा है:
<custommodule_customer_info>
<reference name="root">
<action method="setTemplate"><template>page/2columns-left.phtml</template></action>
</reference>
</custommodule_customer_info>
मैं उन ग्राहकों के लिए रूट टेम्प्लेट अपडेट करना चाहता हूं जो लॉग इन नहीं हैं, जैसे कि:
<customer_logged_out>
<custommodule_customer_info>
<reference name="root">
<action method="setTemplate"><template>page/1column.phtml</template></action>
</reference>
</custommodule_customer_info>
</customer_logged_out>
मैं समझता हूं कि मैं इस तरह से कई लेआउट हैंडल को लक्षित नहीं कर सकता, लेकिन इरादा स्पष्ट होना चाहिए; इस लेआउट हैंडल के लिए रूट टेम्प्लेट को अपडेट करें जबकि ग्राहक लॉग इन नहीं हैं।
मैंने सोचा था कि मैं निम्नलिखित के साथ अपने नियंत्रक के हैंडल को लक्षित कर सकता हूं:
<customer_logged_out>
<reference name="custommodule_customer_info">
<reference name="root">
<action method="setTemplate"><template>page/1column.phtml</template></action>
</reference>
</reference>
</customer_logged_out>
यह वास्तव में टेम्प्लेट के साथ रूट टेम्प्लेट को अपडेट करता है 1column.phtml
, लेकिन यह मेरे reference
नोड में लक्षित पृष्ठ के बजाय सभी पेज प्रतीत होता है पर ऐसा कर रहा है।
मैंने इस लेआउट अपडेट के कई क्रमों की कोशिश की है, लेकिन कोई भी काम नहीं कर रहा है। मैं लेआउट हैंडल का उपयोग करते हुए एक ही समय में इस एक लेआउट हैंडल को कैसे लक्षित कर सकता हूं customer_logged_out
?
- संपादित करें - स्पष्ट होने के लिए, यह वास्तव में एक तृतीय-पक्ष मॉड्यूल है।
customer_logged_in/out
हैंडल इतने शक्तिशाली हो सकते हैं, लेकिन वे इस सीमा के कारण प्रभावित हो जाते हैं।