Magento 2 에서 몇 가지 작업을 수행했으며 내가 설치 한 일부 모듈 (frontend)을 덮어 썼습니다 .
그러나 오늘 나는 이전에 경험하지 못한 것을 발견했습니다. 내가 사용한 모듈에는 다음과 같은 블록이 있습니다.
<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 잘되는, 블록을 참조하여 제거 할 수 있습니다. 잘 작동했습니다.
그러나 내 질문은 왜 블록을 as 를 사용하여 가져 오는 대신 name 을 사용하여 가져 오는 것이 아닌가 입니다.
두 번째로 as 의 요점은 분명히 블록은 어쨌든 충돌하는 이름을 가질 수 없으며 고유해야하지만 완전히 잘못되었을 수 있기 때문입니다.