Comment remplacer les fichiers .phtml dans Magento 2


15

Je souhaite personnaliser la page de détails du produit, il a donc fallu remplacer certains fichiers .phtml dans les emplacements suivants.

Je veux donc savoir comment remplacer les fichiers .phtml dans vendor\magento\module-catalog\view\frontend\templates\productouvendor\magento\module-theme\view

Réponses:


23

Parfois, nous devons apporter des modifications aux modèles existants. Au lieu d'apporter des modifications directement aux fichiers de modèle existants, nous devons les remplacer dans notre propre thème. Supposons que nous voulons mettre à jour la page de liste des catégories ( list.phtml). Pour ce faire, créez la structure de répertoires suivante:

app/design/frontend/Mycompany/Basic/Magento_Catalog/templates/product

Ici, je suppose que notre thème actuel est de base. Copiez maintenant le fichier list.phtml dans le répertoire du produit à partir de l'emplacement suivant:

app/vendor/magento/module-catalog/view/frontend/templates/product/list.phtml

Vous pouvez maintenant apporter les modifications que vous souhaitez à votre fichier remplacé.

Pour plus de détails, veuillez lire ce tutoriel qui vous aidera beaucoup.


2
Bonjour, je remplace simplement le fichier list.phtml dans le chemin suivant, \ app \ design \ frontend \ Magento \ luma \ Magento_Catalog \ templates \ product \ list.phtml. Mais cela n'a pas fonctionné. Puis-je savoir où je me suis trompé?
Vigna S

Même problème, peu importe le nombre de fois où j'ai appuyé sur Actualiser, celui par défaut est chargé par-dessus mon personnalisé. Et OUI, j'ai le bon chemin avant que personne ne le demande, mais j'utilise Composer pour installer Magento, donc les valeurs par défaut sont à différents endroits si cela importe.
Dustin Poissant

J'ai dû vider le cache des blocs html et cela a parfaitement fonctionné pour moi! ( J'efface le cache comme ce blog.gardenhouse.io/2018/05/29/… )
Paul

Comment remplacer le modèle de votre module?
Black

8

Je réponds à ma propre question,

J'ai découvert comment remplacer les fichiers .phtml aux emplacements mentionnés dans ma question,

Vous devez les placer dans les emplacements suivants pour remplacer les fichiers d'origine

app\design\frontend\<VENDOR_NAME>\<THEME_NAME>\Magento_Catalog\templates\product\view

Et je crois que la théorie est la même pour remplacer tous les autres fichiers .phtml dans Magento 2


Pourriez-vous s'il vous plaît en dire plus ... Comme si je devais copier mon fichier phtml personnalisé dans le dossier de thème isit? comme dans l'application \ design \ frontend \ <VENDOR_NAME> \ luma \ Magento_Catalog \ Dois-je créer mon dossier Vendor et y copier le fichier phtml principal? Si ce faisant, pas besoin de modèles dans le dossier d'affichage?
Sushivam

Salut, j'essaye de remplacer un fichier phtml pour un widget, et je ne suis pas sûr que le chemin que j'ai utilisé est correct. La partie Magento_Catalog de votre chemin d'accès est-elle spécifique au dossier du module que vous remplacez? Donc, si je remplace le fournisseur \ magento \ module-catalog-widget \ view \ frontend \ templates \ product \ widget \ content, devrais-je remplacer Magento_Catalog dans votre instance par Magento_Catalog_Widget dans mon instance? Un peu confus car ce n'est pas encore clair pour moi.
robgt

6

Pour remplacer le phtml, la mise en page et les fichiers Web par un thème personnalisé

1) Pour remplacer le fichier modèle:

fournisseur / magento / module-catalogue / view / frontend / templates / product / list.phtml

Suivez ce chemin

app / design / frontend / Vendor / theme / Magento_Catalog / templates / product / list.phtml

2) Pour remplacer le fichier de mise en page:

fournisseur / magento / module-catalogue / view / frontend / layout / catalog_product_view.xml

Suivez ce chemin

app / design / frontend / Vendor / theme / Magento_Catalog / layout / catalog_product_view.xml


Comment remplacer / personnaliser d'autres fichiers de module comme Observer, Controller, etc.?
Tahir Yasin

6

Pour remplacer les fichiers pthml et de mise en page

vendor/magento/module-catalog/view/frontend/templates/product/list.phtml

dans

app/Mycompany/OverideCatalog/view/frontend/templates/product/list.phtml

Disposition:

vendor/magento/module-catalog/view/frontend/layout/catalog_category_view.xml

dans

app/Mycompany/OverideCatalog/view/frontend/layout/catalog_category_view.xml

<block class="Magento\Catalog\Block\Product\ListProduct" name="category.products.list" as="product_list" template="Mycompnay_OverideCatalog::product/list.phtml">

3

remplacer les modèles (phtml) par thème personnalisé

Si vous souhaitez remplacer d' vendor\magento\module-catalog\view\frontend\templates\product\some.phtmlabord, vous devez créer votre thème personnalisé, veuillez consulter ce lien pour savoir comment créer un thème personnalisé.

après cela, créez un fichier phtml dans votre thème personnalisé pour remplacer celui par défaut

 app/design/frontend/vendor-name/theme-name/Magento_Catalog/templates/product/some.phtml

c'est enfin effacer le cache de magento ainsi que le navigateur, puis vérifiez votre page, nouveau fichier phtml uniquement reflété.

de la même manière que vous pouvez faire pour tous les modèles de remplacement.

bonne chance


Merci, je viens de comprendre et j'ai répondu à la conclusion dans mes propres questions, votre réponse est très similaire à mes conclusions.
nuwaus

2

Ouvrir le dossier: /vendor/magento/theme-frontend-luma/et copiez les modèles de module et les fichiers de disposition à partir du dossier de vue.

Créez ensuite des dossiers: /app/design/frontend/spacename/Theme/

Créez ensuite un dossier de modules, puis créez des modèles et un dossier de présentation.

Insérez les modèles et les fichiers de disposition du dossier de vue du module.


En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.