J'ai fait du travail dans Magento 2 et j'ai écrasé certains modules que j'ai installés (sur le frontend).
Mais aujourd'hui, je viens de tomber sur quelque chose que je n'ai jamais rencontré auparavant. Le module que j'utilise a un bloc à l'intérieur qui a les éléments suivants:
<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>
Il définit son nom:
posts.tab
puis utilise le as pour lui permettre d'être appelé via:
as = "blog.posts"
Lorsque j'ai essayé de référencer le bloc à supprimer en utilisant le nom as, j'ai remarqué qu'il ne le supprimait pas de la page:
<referenceBlock name="product.info.details">
<referenceBlock as="blog.posts" remove="true"/>
</referenceBlock>
donc je suis allé voir ce que la page appelait réellement sur le frontend (juste au cas où elle était renommée ailleurs ou n'utilisait pas le nom posts.tab) - le nom du bloc est appelé avec posts.tab , ce qui est bien car je peux simplement référencer ce bloc pour le supprimer. Cela a bien fonctionné.
Mais ma question est, pourquoi le bloc n'est-il pas tiré à l'aide de as et au lieu de cela à l'aide du nom .
Deuxièmement, à quoi sert le as , car de toute évidence, les blocs ne peuvent pas avoir de noms contradictoires et devraient être uniques - mais je peux me tromper totalement.
la source