Mam niestandardowy kontroler dostępny na ścieżce, /custommodule/customer/infoktóra ładuje 2columns-left.phtmlszablon do rootwę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.phtmlszablon, ale robi to na czymś, co wydaje się być wszystkimi stronami, a nie tylko stroną docelową w moim referencewęź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_outuchwytu układu?
- edytuj - aby było jasne, w rzeczywistości jest to moduł innej firmy.
customer_logged_in/outuchwyty mogą być tak potężne, ale z powodu tego ograniczenia dają się nabrać.