我在路径/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
手柄可能是如此强大,但是由于这一限制,它们被束之高阁。