Tak jest. Możesz zajrzeć do publikacji statycznej, aby zobaczyć, jak zbudowana jest ścieżka do zasobu statycznego.
Jak to działa
Każdy zasób jest dostępny ze strony przez jego enter code here
„RequireJS ID”. Jest podobny do prawdziwej ścieżki, ale zróżnicowany.
Na przykład plik
http://magento.vg/static/adminhtml/Magento/backend/en_US/Magento_Theme/favicon.ico
.
To prawdziwa ścieżka
/app/code/Magento/Theme/view/adminhtml/web/favicon.ico
. Wymagany jest identyfikator JS Magento_Theme/favicon.ico
. Oznacza to, że plik może być dostępny za pomocą require("text!Magento_Theme/favicon.ico")
lub podobnego polecenia.
Można zauważyć, że identyfikator RequireJS składa się z nazwy modułu i przydatnej części ścieżki (po folderze web
).
Jak mogę wymienić plik?
Więc masz plik
vendor/magento/module-payment/view/frontend/web/template/payment/cc-form.html
Na stronie załadowano z src as
http://magento.vg/static/frontend/Magento/luma/en_US/Magento_Payment/template/payment/cc-form.html
Więc jego identyfikator RequireJS to
Magento_Payment/template/payment/cc-form.html
Uwaga dodatkowa: Wewnątrz elementów interfejsu użytkownika jest to równe
Magento_Payment/payment/cc-form
. Słowa „szablon” i „.html” są dodawane automatycznie.
A teraz możesz zastąpić ten plik dla aplikacji za pomocą konfiguracji RequireJS
var config = {
"map": {
"*": {
"Magento_Payment/template/payment/cc-form.html":
"<OwnBrand>_<OwnModule>/template/payment/cc-form.html"
}
}
};
Ten fragment kodu umieszczasz w requirejs-config.js
pliku w swoim module. To wszystko.
Być może pomoże to komuś zrozumieć, jak to się dzieje.