Вопрос

Я создаю новый блок 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>

Спасибо.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с magento.stackexchange
scroll top