Я виконував деяку роботу в 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 = "blog.posts"
Коли я намагався посилатись на блок, який потрібно видалити, використовуючи як ім'я, я помітив, що він не видаляє його зі сторінки:
<referenceBlock name="product.info.details">
<referenceBlock as="blog.posts" remove="true"/>
</referenceBlock>
тому я пішов подивитися, що насправді викликає сторінка на передній панелі (просто в тому випадку, коли вона перейменована десь інше або не використовує ім'я posts.tab) - ім'я блоку викликається у posts.tab , що добре тому що я можу просто посилатися на цей блок, щоб видалити його. Це добре працювало.
Але моє запитання полягає в тому, чому блок не витягується за допомогою як і замість цього витягується за допомогою імені .
По- друге , який сенс в якості , тому що , очевидно , блоки не можуть мати конфліктуючі імена в будь-якому випадку і повинен бути унікальним - але я міг би бути зовсім неправильно.