Da Magento2 RequireJS zum Laden von Skripten verwendet und es keinen Skin- Ordner mehr gibt , habe ich ein Problem:
Wie kann ich die Modul-JS-Datei von Magento durch meine geänderte Version ersetzen?
Zum Beispiel - die opc-checkout-method.js, die zur Erweiterung Magento_Checkout gehört. Soweit ich sehen kann, ist es nicht in der Datei requirejs-config.js definiert.
Meine Erweiterung wird nach Magento_Checkout geladen , daher werden die erforderlichen js-config.js-Daten am Ende der resultierenden requirejs-config-Datei angehängt.
Oder sollte ich es anders machen, ohne das ganze Skript zu ersetzen?
javascript
overrides
magento2
requirejs
DmitryR
quelle
quelle
Antworten:
Es gibt keinen Skin-Ordner mehr, Sie können jedoch weiterhin Designs verwenden.
Als Proof-of-Concept habe ich Sie beispielhaft mit
op-checkout-method.js
diesem und diesem verwendet.Voraussetzungen:
pub/static
Ordner erstellt (Ordner pub / static / frontend entfernen)Aktionen:
op-checkout-method.js
Datei von ihrem Modulspeicherortapp/code/Magento/Checkout/view/frontend/web/js/opc-checkout-method.js
in das leere Theme nachapp/design/frontend/Magento/blank/Magento_Checkout/web/js/opc-checkout-method.js
console.log('something')
oderalert('something')
in der_create
Funktion desmage.opcCheckoutMethod
Widgets hinzu.Ergebnis:
Verwandte Informationen:
Wenn ich von cli
php dev/tools/Magento/Tools/View/deploy.php
(dem Skript, das die statischen Ressourcen veröffentlicht) aus starte, wird meine neue js-Datei abgelegtpub/static/frontend/Magento/blank/en_US/Magento_Checkout/js/opc-checkout-method.js
[BEARBEITEN]
Ich habe einen Weg gefunden, dies über ein Modul zu tun.
Dazu kommt
[Namespace]/[Module]/view/frontend/requirejs-config.js
noch:Dann erstellen Sie die Datei
[Namespace]/[Module]/view/frontend/web/js/opc-checkout-method.js
mit Ihrem Inhalt.Zu Testzwecken habe ich die Originaldatei geklont und gerade wieder eine
console.log
in die_create
Funktion eingefügt .Denken Sie auch daran, die öffentlichen Ressourcen für das Frontend neu zu generieren.
quelle
Hier ist das offizielle Dokument zum Erweitern / Ersetzen von Standard-JS-Komponenten: http://devdocs.magento.com/guides/v2.0/javascript-dev-guide/javascript/custom_js.html
Feedback ist willkommen!
quelle