Я хочу добавить свой пользовательский блок на страницу со списком [Magento-2], но без каких-либо изменений list.phtml
или каких-либо.phtml
файлов. Есть ли возможность с помощью xml
файла?
Любая помощь будет оценена.
magento2
product-list
Кейур Шах
источник
источник
Ответы:
Вы можете сделать это, если создадите новый модуль для переопределения этого блока:
vendor\magento\module-catalog\Block\Product\ListProduct.php
чтобы переопределить этот блок, вам нужно создать
di.xml
вapp\code\Vendor\Module_Name\etc
di.xml
содержание:Создать новое имя файла
ListProduct.php
вapp\code\Vendor\Module_Name\Block\Product
ListProduct.php
содержание:Вы можете изменить блок
Magento\Framework\View\Element\Template
на свой блоксоздать
test.phtml
файл вapp\code\Vendor\Module_Name\view\frontend\templates
источник
di.xml
использованием вышеуказанного метода. Теперь, как отобразить значение моего пользовательского атрибута на странице списка?В настоящее время вы не можете сделать это, потому что вся логика вывода продукта жестко задана в
list.phtml
шаблоне.источник
Вот мое решение - но вы должны изменить
list.phtml
шаблон:catalog_category_view.xml
В
custom-block.phtml
вы можете получить продукт , как это:Вам нужно будет перезаписать
list.phtml
шаблон, хотя ... Просто добавьте это, где вы хотите, чтобы ваш пользовательский блок показывал:Если вы действительно хотите избежать изменения
list.phtml
шаблона, то вы можете сделать то же самое, но в другом шаблоне.источник