私はMagento 2でいくつかの作業を行っており、(フロントエンドに)インストールしたモジュールを上書きしています。
しかし、今日私は今までに出会ったことのない何かに出くわしました。私が使用しているモジュールには、次のようなブロックが含まれています。
<referenceBlock name="product.info.details">
<block class="Vender\Module\Block\Catalog\Related" name="posts.tab" as="blog.posts"
template="Vender_Module::catalog/posts.phtml" group="detailed_info">
</block>
</referenceBlock>
それはその名前を設定します:
posts.tab
次にasを使用して、次のようにして呼び出せるようにします。
as = "blog.posts"
asの名前を使用して削除するブロックを参照しようとしたときに、ページから削除されていないことに気付きました。
<referenceBlock name="product.info.details">
<referenceBlock as="blog.posts" remove="true"/>
</referenceBlock>
それで、フロントエンドで実際にページが呼び出されているところを見に行きました(他の場所で名前が変更されていたり、posts.tab名を使用していない場合に備えて)-ブロック名は、posts.tabで呼び出されています。私はそのブロックを参照して削除することができます。それはうまくいきました。
しかし、私の質問は、なぜブロックは使用して引っ張られていないされて、代わりに使用して引かれる名前を。
2番目に、asのポイントは何ですか?明らかに、ブロックはとにかく競合する名前を持つことができず、一意である必要があります-しかし、私は完全に間違っているかもしれません。