Tenho feito alguns trabalhos no Magento 2 e substituindo alguns módulos que instalei (no frontend).
No entanto, hoje acabei de encontrar algo que não encontrei antes. O módulo que eu estou usando tem um bloco dentro dele que tem o seguinte:
<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>
Ele define seu nome:
posts.tab
e então usa o as para permitir que ele seja chamado via:
as = "blog.posts"
Quando eu tentei fazer referência ao bloco a ser removido usando o como nome notei que não era removê-lo da página:
<referenceBlock name="product.info.details">
<referenceBlock as="blog.posts" remove="true"/>
</referenceBlock>
então eu fui ver o que a página realmente chamou no frontend (apenas no caso de ela estar sendo renomeada em outro lugar ou não estar usando o nome posts.tab) - o nome do bloco está sendo chamado com posts.tab , o que é bom como eu posso apenas referenciar esse bloco para removê-lo. Isso funcionou bem.
Mas minha pergunta é: por que o bloco não está sendo puxado usando as e, em vez disso, está sendo puxado usando o nome .
Em segundo lugar, qual é o sentido do as , porque obviamente os blocos não podem ter nomes conflitantes de qualquer maneira e devem ser únicos - mas eu posso estar totalmente errado.
fonte