Magento 2: Wie überschreibe ich die HTML-Datei der Mini-Cart-Standardvorlage?


12

Wie überschreibe ich eine /var/www/html/magento2/vendor/magento/module-checkout/view/frontend/web/template/minicart/content.htmlDatei in unserem benutzerdefinierten Design?

Antworten:


16

Zuerst müssen wir Web- / Vorlagendateien in unsere Magento-Themendatei überschreiben, in meinem Fall content.html

Magento_Checkout/web/template/minicart/content.html

Nach Änderungen in der content.htmlDatei müssen wir die statische Datei mit dem Befehl bereitstellenphp bin/magento setup:static-content:deploy

ODER

Sie müssen die Datei content.html (ich muss den Inhalt in dieser Datei ändern) aus der Datei löschen pub/static/frontend/Magento/buytea/en_US/Magento_Checkout/template/minicartund die Seite erneut laden.

Änderungen werden übernommen.


1
Versuch, die Homepage zu überschreiben. Aber nicht funktioniert
Ankit Shah


Ich habe unten Ordnerstruktur magento2 |_ app |_ design |_ frontend |_ Magento |_luma |_Magento_Theme |_templates |_root.phtml composer.json registration.php theme.xml& verweise magento.stackexchange.com/questions/138223/…
Ankit Shah

Sie müssen Ihr benutzerdefiniertes Thema definieren, innerhalb von Luma funktioniert es nicht. Wenn Sie Änderungen innerhalb des Luma-Themas vornehmen möchten, gehen Sie zu Ihrem Anbieter / Magento / Theme-Frontend-Luma
Rakesh Jesadiya

Ich möchte das Luma-Thema überschreiben. Kannst du das nicht?
Ankit Shah

10

Es geht auch anders. Wir sollten wissen, dass wir die HTML-Vorlage über RequireJS überschreiben können. Wir müssen kein benutzerdefiniertes Thema erstellen . Erstellen Sie in Ihrem benutzerdefinierten Modul Folgendes 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'
        }
    }
};

Weitere Erklärungen können wir hier lesen .


Hallo. Wenn ich auf content.htmldiese Weise überschreibe , warum ist es dann leer? Minicart.
Chirag

Gibt es diese Datei Vendor_ModuleName/template/minicart/content.htmlin pub/static?
Khoa TruongDinh

ja .. und auch mein Konfigurationscode in requirejs-config.jsist verfügbar
Chirag

Wenn ich die Konsole sehe, nimmt sie auch meine Datei anstelle des Kerns. aber ich weiß nicht warum es nichts anzeigt.
Chirag

Sie haben versucht, Ihren Browser-Cache zu leeren?
Khoa TruongDinh

7

Sie können dies überschreiben, indem Sie diesen Ordner zu Ihrem Thema hinzufügen:

Magento_Checkout/web/template/minicart

In diesem Ordner können Sie die Datei content.html erstellen. Stellen Sie nach einer Änderung in dieser Datei sicher, dass Sie Ihren Browser-Cache leeren, um die Änderungen anzuzeigen.


Ich habe das gleiche versucht, Sie schlagen dies vor, aber es funktioniert nicht.
Rakesh Jesadiya

Haben Sie statische Dateien bereitgestellt? Und Cache geleert?
Silvan

1
Ja, es funktioniert einwandfrei nach dem Löschen statischer Dateien und generiert beim Laden der nächsten Seite automatisch eine neue Datei.
Rakesh Jesadiya

0

Obwohl die Antwort von Khoa TruongDinh wirklich hilfreich war, fehlen einige Details. Hier ist ein vollständiges Beispiel:

Kopieren Sie die HTML-Vorlage in ein funktionierendes Minicart-Beispiel nach:

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

und in Themen erfordernjs-config.js =>

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

Siehe auch Kernfehler: https://github.com/magento/magento2/issues/5832


-1

Datei zum Ändern des Minicart-Inhalts öffnen:

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

Datei zum Ändern des Inhalts von Minicart-Produkten öffnen:

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

Nach der Änderung müssen Sie das Thema mithilfe von bereitstellen, bin/magento setup:static-content:deploydann wird es angezeigt.

Wenn die Änderung nicht ausgefüllt ist, ändern Sie die Tempaltes im folgenden Verzeichnis, um Laufzeitänderungen anzuzeigen:

/pub/static/frontend/Your_theme/Theme/en_US/Magento_Checkout/template/minicart

Sie sollten nichts in pub / static ändern. Es wird sowieso durch den statischen Bereitstellungsbefehl überschrieben ...
OZZIE
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.