Quero adicionar meu bloco personalizado na página de listagem [Magento-2], mas sem nenhuma modificação list.phtml
ou.phtml
arquivo. Existe alguma possibilidade usando o xml
arquivo?
Qualquer ajuda será apreciada.
magento2
product-list
Keyur Shah
fonte
fonte
Respostas:
Você pode fazer isso se criar um novo módulo para substituir este bloco:
vendor\magento\module-catalog\Block\Product\ListProduct.php
para substituir esse bloco, você precisa criar
di.xml
emapp\code\Vendor\Module_Name\etc
di.xml
conteúdo:Crie um novo nome de arquivo
ListProduct.php
emapp\code\Vendor\Module_Name\Block\Product
ListProduct.php
conteúdo:Você pode alterar o bloco
Magento\Framework\View\Element\Template
para o seu blococriar
test.phtml
arquivo emapp\code\Vendor\Module_Name\view\frontend\templates
fonte
di.xml
usando o método acima. Agora, como exibir meu valor de atributo personalizado na página de listagem?Atualmente, você não pode fazer isso porque toda a lógica da saída do produto é codificada no
list.phtml
modelo.fonte
Aqui está minha opinião sobre a solução - mas você deve modificar o
list.phtml
modelo:catalog_category_view.xml
Em
custom-block.phtml
você pode obter o produto como este:Você precisará sobrescrever o
list.phtml
modelo ... Basta adicionar isto onde deseja que seu bloco personalizado seja exibido:Se você realmente deseja evitar modificar o
list.phtml
modelo, poderá fazer algo semelhante, mas em um modelo diferente.fonte