0

トップリンクの構造を変更しようとしています。デフォルトのテーマでxmlファイルをいじりたくありません。すべてが含まれているxmlファイルは1つだけです。テーマレイアウトフォルダーに複数のxmlファイルを作成したくありません。top.linksブロック内のアクションの設定を解除しようとしています。

これが私がやろうとしている方法です:

<reference name="top.links">
  <action method="unsetChild"><child>addLink</child></action>
      <!--  <remove name="checkout_cart_link" /> -->
</reference>

削除タグを付けると、完全に機能します。しかし、addLinkアクションに対してunsetChildを実行しようとすると、機能しません。多分私がこれをどうやって理解すべきか知っていますか。デフォルトのテーマと同じ名前の個別のxmlファイルは必要ありません。

4

1 に答える 1

2

このunsetChild関数はAbstractブロックモデルからのものであり、現在のブロックの子であるブロックを削除するために使用されます。名前の付いたtop.linksブロックには、addLinkと呼ばれる子ブロックがないため、構成で何も実行されません。メソッドを持つアクションノードはaddLink、ブロックでaddLink関数を呼び出しMage_Page_Block_Template_Linksます。リンクの1つを削除することが目的の場合は、アクションを使用する必要がありますremoveLinkByUrl

<reference name="top.links">
  <action method="removeLinkByUrl"><url>link/here</url></action>
</reference>

正確な引数は、削除しようとしているリンクによって明らかに異なります。

于 2012-10-01T13:06:38.407 に答える