Mam niestandardowy kontroler dostępny na ścieżce, /custommodule/customer/info
która ładuje 2columns-left.phtml
szablon do root
węzła w następujący sposób:
<custommodule_customer_info>
<reference name="root">
<action method="setTemplate"><template>page/2columns-left.phtml</template></action>
</reference>
</custommodule_customer_info>
Chciałbym zaktualizować szablon główny dla klientów, którzy nie są zalogowani, na przykład:
<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>
Rozumiem, że nie mogę celować w wiele uchwytów układu w ten sposób, ale cel powinien być jasny; zaktualizuj szablon główny dla tego uchwytu układu, gdy klienci nie są zalogowani.
Myślałem, że mogę celować w uchwyt mojego kontrolera za pomocą:
<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>
To rzeczywiście aktualizuje szablon główny o 1column.phtml
szablon, ale robi to na czymś, co wydaje się być wszystkimi stronami, a nie tylko stroną docelową w moim reference
węźle.
Próbowałem kilku permutacji tej aktualizacji układu, ale wydaje się, że żadna nie działa. Jak mogę celować w ten jeden uchwyt układu, jednocześnie korzystając z customer_logged_out
uchwytu układu?
- edytuj - aby było jasne, w rzeczywistości jest to moduł innej firmy.
customer_logged_in/out
uchwyty mogą być tak potężne, ale z powodu tego ograniczenia dają się nabrać.