Ja da ist. Sie können in pub static nachsehen, wie der Pfad zum statischen Asset aufgebaut ist.
Wie es funktioniert
Auf jedes Asset kann über die Seite mit der enter code here
ID "RequireJS ID" zugegriffen werden. Es ähnelt dem realen Weg, ist aber abwechslungsreich.
Zum Beispiel Datei
http://magento.vg/static/adminhtml/Magento/backend/en_US/Magento_Theme/favicon.ico
.
Es ist der wahre Weg
/app/code/Magento/Theme/view/adminhtml/web/favicon.ico
. Es ist RequireJS ID ist Magento_Theme/favicon.ico
. Dies bedeutet, dass auf die Datei über einen require("text!Magento_Theme/favicon.ico")
oder einen ähnlichen Befehl zugegriffen werden kann.
Sie können feststellen, dass die RequireJS-ID aus dem Modulnamen und einem nützlichen Teil des Pfads (nach dem Ordner web
) besteht.
Wie kann ich eine Datei ersetzen?
Sie haben also eine Akte
vendor/magento/module-payment/view/frontend/web/template/payment/cc-form.html
Auf der Seite wurde es mit src als geladen
http://magento.vg/static/frontend/Magento/luma/en_US/Magento_Payment/template/payment/cc-form.html
So ist seine RequireJS ID
Magento_Payment/template/payment/cc-form.html
Randnotiz: Innerhalb UI-Komponenten stopft es gleich
Magento_Payment/payment/cc-form
. Die Wörter "template" und ".html" werden automatisch hinzugefügt.
Und jetzt können Sie diese Datei für die Anwendung über RequireJS config ersetzen
var config = {
"map": {
"*": {
"Magento_Payment/template/payment/cc-form.html":
"<OwnBrand>_<OwnModule>/template/payment/cc-form.html"
}
}
};
Dieses Code-Snippet, das Sie requirejs-config.js
in Ihrem Modul in die Datei einfügen . Das ist alles.
Vielleicht hilft es jemandem zu verstehen, wie es auftritt.