как переопределить Html-шаблон magento2?
-
13-12-2019 - |
Вопрос
Я создаю новый блок Xyaddons\Productzoom\Block\Product\View\Gallery
блок переопределения \Magento\Catalog\Block\Product\View\Gallery
.Я хочу установить шаблон image.phtml
в Xyaddons_Productzoom::product/image.phtml
переопределить шаблон product/view/base-image.phtml
в ядре.Я пытаюсь создать функцию в блоке new Block.Но я не добился успеха.итак, кто-нибудь может мне помочь?большое спасибо!
public function beforeToHtml(\Magento\Catalog\Block\Product\Gallery $originalBlock) {
$originalBlock->setTemplate('Xyaddons_Productzoom::produtc/image.phtml');
}
Решение
<referenceBlock name="catalog_product_gallery">
<action method="setTemplate">
<argument name="template" xsi:type="string">Xyaddons_Productzoom::produtc/image.phtml</argument>
</action>
</referenceBlock>
Другие советы
В вашей функции ошибка в написании пути к шаблону.
public function beforeToHtml(\Magento\Catalog\Block\Product\Gallery $originalBlock) {
$originalBlock->setTemplate('Xyaddons_Productzoom::produtc/image.phtml');
}
проверьте орфографическую ошибку в пути к каталогу продукт/изображение.phtml вместо продукт/изображение.phtml.
Проверьте название папки с указанием product, а не produtc, и повторите попытку.
Более того, вы должны определить плагин в di.xml файле вашего модуля
<type name="\Magento\Catalog\Block\Product\Gallery">
<plugin name="xyaddons-productzoom-product-gallery" type="Xyaddons\Productzoom\Block\Product\View\Gallery" sortOrder="10"/>
</type>
Спасибо.