Quiero agregar mi bloque personalizado en la página de listado [Magento-2] pero sin ninguna modificación en list.phtml
ningún.phtml
archivo. ¿Hay alguna posibilidad al usar el xml
archivo?
Cualquier ayuda será apreciada.
magento2
product-list
Keyur Shah
fuente
fuente
Respuestas:
Puede hacerlo si crea un nuevo módulo para anular este bloque:
vendor\magento\module-catalog\Block\Product\ListProduct.php
para anular este bloque, debe crear
di.xml
enapp\code\Vendor\Module_Name\etc
di.xml
contenido:Crear nuevo nombre de archivo
ListProduct.php
enapp\code\Vendor\Module_Name\Block\Product
ListProduct.php
contenido:Puedes cambiar el bloque
Magento\Framework\View\Element\Template
a tu bloquecrear
test.phtml
archivo enapp\code\Vendor\Module_Name\view\frontend\templates
fuente
di.xml
usando el método anterior. ¿Ahora cómo mostrar el valor de mi atributo personalizado en la página de listado?Actualmente no puede hacer esto porque toda la lógica de salida del producto está codificada en la
list.phtml
plantilla.fuente
Aquí está mi opinión sobre la solución, pero debe modificar la
list.phtml
plantilla:catalog_category_view.xml
En
custom-block.phtml
puedes obtener el producto así:Sin
list.phtml
embargo, deberá sobrescribir la plantilla ... Simplemente agregue esto donde desee que se muestre su bloque personalizado:Si realmente desea evitar modificar la
list.phtml
plantilla, entonces puede hacer algo similar pero en una plantilla diferente.fuente