@lagudal

Как добавить свой блок непосредственно перед add to cart кнопкой?

Приветствую, подскажите, как в catalog_product_view.xml добавить свой блок прямо над add to cart кнопкой?
Если добавить как например тут предлагается - https://meetanshi.com/blog/add-block-before-add-to...
в referenceBlock "product.info.form.content" вставить блок before="product.info.addtocart"-
<?xml version="1.0"?>
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
    <body>
        <referenceBlock name="product.info.form.content">
            <block class="Vendor\Extension\Block\Catalog\Product\View" name="catalog.product.view.extrablock"
                   as="extra_options" before="product.info.addtocart" template="Vendor_Extension::catalog/product/view.phtml"/>
        </referenceBlock>
    </body>
</page>


то блок встает, но не только выше кнопки но и выше инпута -ввода кол-ва.
А надо именно над кнопкой но под инпутом, т.е. в html чтобы выходил перед самым "actions" классом.
Подсказали решение - в лейауте мой блок вставлять в referenceblock product.info.addtocart и потом в темплейте addtocart.phtml вызывать с помощью getChildHtml('my_block_name').
Теперь мой блок выводится дважды - один раз ниже кнопки и второй раз как надо - над кнопкой.
60bf04c66348f781136401.png
Как сделать правильно?
  • Вопрос задан
  • 55 просмотров
Решения вопроса 1
@lagudal Автор вопроса
нашел, слепой - там по дефолту в темплейте addtocart.phtml вызывается сразу после add to cart button -
</button>
            <?= $block->getChildHtml('', true) ?>

а я его еще раз сверху вызываю.
Убрал нижний вызов, все как надо заработало
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы