Magento 2: Comment remplacer le fichier HTML du modèle par défaut du mini-panier?

12

Comment remplacer un /var/www/html/magento2/vendor/magento/module-checkout/view/frontend/web/template/minicart/content.htmlfichier dans notre thème personnalisé?

Rakesh Jesadiya
la source

Réponses:

17

nous devons d'abord remplacer les fichiers web / modèles par notre fichier de thème magento, dans mon cas content.html

Magento_Checkout/web/template/minicart/content.html

Après les modifications du content.htmlfichier, nous devons déployer le fichier statique à l'aide de la commandephp bin/magento setup:static-content:deploy

OU

Vous devez supprimer le fichier content.html (je dois changer le contenu de ce fichier) pub/static/frontend/Magento/buytea/en_US/Magento_Checkout/template/minicartet recharger à nouveau la page.

Les modifications sont appliquées.

Rakesh Jesadiya
la source
1
Essayer de remplacer la page d'accueil. Mais ne fonctionne pas
Ankit Shah
quelle page, veuillez me donner le chemin
Rakesh Jesadiya
J'ai ci-dessous la structure des dossiers magento2 |_ app |_ design |_ frontend |_ Magento |_luma |_Magento_Theme |_templates |_root.phtml composer.json registration.php theme.xmlet je me réfère magento.stackexchange.com/questions/138223/…
Ankit Shah
vous devez définir votre thème personnalisé, à l'intérieur de luma, cela ne fonctionne pas, si vous voulez changer à l'intérieur du thème luma, allez à votre fournisseur / magento / theme-frontend-luma
Rakesh Jesadiya
Je voudrais remplacer le thème Luma Vous ne pouvez pas faire cela?
Ankit Shah
12

Il y a une autre façon. Nous devons savoir que nous pouvons remplacer le modèle html via RequireJS. Nous n'avons pas besoin de créer un thème personnalisé . Dans votre module personnalisé, créez un requirejs-config.js:

app / code / {Vendor} / {Module_Name} /view/frontend/requirejs-config.js

var config = {
    map: {
        '*': {
            'Magento_Checkout/template/minicart/content.html':
                'Vendor_ModuleName/template/minicart/content.html'
        }
    }
};

Un plus expliquer, nous pouvons lire plus ici .

Khoa TruongDinh
la source
Hey. quand j'écrase de content.htmlcette façon, alors pourquoi me laisser vide? minicart.
chirag
Il y a ce fichier Vendor_ModuleName/template/minicart/content.htmldans pub/static?
Khoa TruongDinh
oui .. et aussi mon code de configuration requirejs-config.jsest disponible
chirag
quand je vois la console, c'est aussi prendre mon fichier au lieu de core. mais je ne sais pas pourquoi son affichage rien.
chirag
Vous avez essayé de vider le cache de votre navigateur?
Khoa TruongDinh
7

Vous pouvez remplacer cela en ajoutant ce dossier à votre thème:

Magento_Checkout/web/template/minicart

Dans ce dossier, vous pouvez créer le fichier content.html. Après une modification effectuée dans ce fichier, assurez-vous de vider le cache de votre navigateur pour voir les modifications.

Sylvain
la source
J'ai essayé la même chose que vous suggérez, mais cela ne fonctionne pas.
Rakesh Jesadiya
Avez-vous déployé des fichiers statiques? Et effacé le cache?
Silvan
1
oui, cela fonctionne bien après des fichiers statiques clairs et il générera automatiquement un nouveau fichier au chargement de la page suivante.
Rakesh Jesadiya
0

Bien que la réponse de Khoa TruongDinh ait été vraiment utile, il manque certains détails, voici donc un exemple complet:

Exemple de minicart fonctionnel, copiez le modèle html dans:

[theme_path]/Magento_Theme/web/template/minicart/content.html

et dans les thèmes requirejs-config.js =>

var config = {
    "map": {
        "*": {
            'Magento_Checkout/template/minicart/content.html': 'Magento_Theme/template/minicart/content.html'
        }
    }
};

Voir aussi bug principal: https://github.com/magento/magento2/issues/5832

OZZIE
la source
-1

Ouvrez le fichier pour modifier le contenu du mini-panier:

/app/design/frontend/your_theme/Theme/Magento_Checkout/web/template/minicart/content.html

Ouvrir le fichier pour modifier le contenu du produit minicart:

/app/design/frontend/Eglo/Theme/Magento_Checkout/web/template/minicart/item/default.html

Après modification, vous devez déployer le thème en utilisant bin/magento setup:static-content:deploypuis il s'affichera.

Si la modification n'est pas renseignée, modifiez les tempaltes dans le répertoire ci-dessous pour afficher les modifications d'exécution:

/pub/static/frontend/Your_theme/Theme/en_US/Magento_Checkout/template/minicart
Abhinav Singh
la source
vous ne devriez pas modifier les choses dans pub / static .. cela sera de toute façon annulé par la commande de déploiement statique ...
OZZIE