「persistent.remember.me」というブロック名のテンプレートを変更したいのですが、同じハンドルの下に同じ名前の2つのブロックがあります。
app / design / frontend / base / default / layout / persistent.xml
<checkout_onepage_index>
<reference name="checkout.onepage.login">
<action method="setTemplate"><template>persistent/checkout/onepage/login.phtml</template></action>
<block type="persistent/form_remember" name="persistent.remember.me" template="persistent/remember_me.phtml" />
</reference>
<reference name="checkout.onepage.billing">
<action method="setTemplate"><template>persistent/checkout/onepage/billing.phtml</template></action>
<block type="persistent/form_remember" name="persistent.remember.me" template="persistent/remember_me.phtml" />
<block type="core/template" name="persistent.remember.me.tooltip" template="persistent/remember_me_tooltip.phtml" />
</reference>
</checkout_onepage_index>
次の内容でlocal.xmlを作成しました。
app / design / frontend / mytheme / default / layout / local.xml
<checkout_onepage_index>
<reference name="persistent.remember.me">
<action method="setTemplate"><template>mytheme/persistent/remember_me.phtml</template></action>
</reference>
</checkout_onepage_index>
そして、すべてが正常に動作します。最後の参照のテンプレート( "checkout.onepage.billing")のみが更新されます。これはまさに私が望んでいることですが、なぜこれが行われるのかはわかりません。ブロック名は常に一意である必要があるという印象を受けました。これはMagentoのバグですか?Magentoをアップグレードすると、このコードはどうなりますか?