He estado trabajando en Magento 2 y he sobrescrito algunos módulos que he instalado (en la interfaz).
Sin embargo, hoy acabo de encontrar algo que no había encontrado antes. El módulo que he estado usando tiene un bloque dentro que tiene lo siguiente:
<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>
Establece su nombre:
posts.tab
y luego usa el as para permitir que se llame a través de
como = "blog.posts"
Cuando intenté hacer referencia al bloque que se eliminará con el nombre como , noté que no lo estaba eliminando de la página:
<referenceBlock name="product.info.details">
<referenceBlock as="blog.posts" remove="true"/>
</referenceBlock>
así que fui a ver cómo se llamaba realmente la página en la interfaz (solo en caso de que fuera renombrada en otro lugar o no usara el nombre posts.tab): el nombre del bloque se llama con posts.tab , lo cual está bien como puedo hacer referencia a ese bloque para eliminarlo. Eso funcionó bien.
Pero mi pregunta es, ¿por qué no se extrae el bloque usando as y en su lugar se extrae usando el nombre ?
En segundo lugar, cuál es el punto en el as , porque obviamente los bloques no pueden tener nombres en conflicto de todos modos y deberían ser únicos, pero podría estar totalmente equivocado.
fuente