Je veux ajouter mon bloc personnalisé sur la page de liste [Magento-2] mais sans aucune modification list.phtml
ni.phtml
fichier. Y a-t-il une possibilité en utilisant un xml
fichier?
Toute aide serait appréciée.
magento2
product-list
Keyur Shah
la source
la source
Réponses:
Vous pouvez le faire si vous créez un nouveau module pour remplacer ce bloc:
vendor\magento\module-catalog\Block\Product\ListProduct.php
pour remplacer ce bloc, vous devez créer
di.xml
àapp\code\Vendor\Module_Name\etc
di.xml
contenu:Créez un nouveau nom de fichier
ListProduct.php
àapp\code\Vendor\Module_Name\Block\Product
ListProduct.php
contenu:Vous pouvez changer le bloc
Magento\Framework\View\Element\Template
en votre bloccréer un
test.phtml
fichier àapp\code\Vendor\Module_Name\view\frontend\templates
la source
di.xml
utilisant la méthode ci-dessus. Maintenant, comment afficher ma valeur d'attribut personnalisé dans la page de liste?Actuellement, vous ne pouvez pas le faire car toute la logique de sortie du produit est codée en dur dans le
list.phtml
modèle.la source
Voici mon point de vue sur la solution - mais vous devez modifier le
list.phtml
modèle:catalog_category_view.xml
En
custom-block.phtml
vous pouvez obtenir le produit comme celui - ci:Vous devrez cependant remplacer le
list.phtml
modèle ... Ajoutez simplement ceci à l'endroit où vous souhaitez que votre bloc personnalisé s'affiche:Si vous voulez vraiment éviter de modifier le
list.phtml
modèle, vous pourrez peut-être faire une chose similaire mais dans un modèle différent.la source