次のように、ノードにテンプレートを/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
ノードでターゲットになっているページだけでなく、すべてのページに見えるもので更新しています。
このレイアウト更新のいくつかの順列を試しましたが、どれも機能していないようです。レイアウトハンドルを使用しながら、この1つのレイアウトハンドルをターゲットにするにはどうすればよいcustomer_logged_out
ですか?
-編集-明確にするために、これは実際にはサードパーティのモジュールです。
customer_logged_in/out
ハンドルは非常に強力である可能性がありますが、この制限のために見えます。