Quiero agregar mi bloque personalizado en la página de listado [Magento-2] pero sin ninguna modificación en list.phtmlningún.phtml archivo. ¿Hay alguna posibilidad al usar el xmlarchivo?
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.phppara anular este bloque, debe crear
di.xmlenapp\code\Vendor\Module_Name\etcdi.xmlcontenido:Crear nuevo nombre de archivo
ListProduct.phpenapp\code\Vendor\Module_Name\Block\ProductListProduct.phpcontenido:Puedes cambiar el bloque
Magento\Framework\View\Element\Templatea tu bloquecrear
test.phtmlarchivo enapp\code\Vendor\Module_Name\view\frontend\templatesfuente
di.xmlusando 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.phtmlplantilla.fuente
Aquí está mi opinión sobre la solución, pero debe modificar la
list.phtmlplantilla:catalog_category_view.xmlEn
custom-block.phtmlpuedes obtener el producto así:Sin
list.phtmlembargo, deberá sobrescribir la plantilla ... Simplemente agregue esto donde desee que se muestre su bloque personalizado:Si realmente desea evitar modificar la
list.phtmlplantilla, entonces puede hacer algo similar pero en una plantilla diferente.fuente