Magento 2: Różne pliki o treści statycznej w zależności od regionu?

16

W Magento 2 statyczny adres URL treści wygląda następująco

http://magento-2-with-keys.dev/static/adminhtml/Magento/science/en_US/Pulsestorm_FrontendTutorial1/hello.js

Obejmuje to en_USczęść ustawień regionalnych. To mocno implikuje, że albo

  1. Magento 2 umożliwia tworzenie różnych plików zawartości statycznej w zależności od lokalizacji
  2. Magento 2 przetwarza statyczne pliki zawartości dla ciągów locale / gettext

Które z powyższych jest prawdziwe? Czy oba są prawdziwe? Lub żaden?

W jaki sposób, jako programista modułu Magento, dostarczam statyczne pliki zawartości dla poszczególnych lokalizacji? Czy byłoby inaczej, gdybym był programistą motywów?

Alan Storm
źródło

Odpowiedzi:

13

Magento pozwala na dostarczanie statycznych plików zasobów dla ustawień regionalnych w module lub motywie. Aby zapewnić takie zlokalizowane pliki, umieść je w web/i18n/<locale>folderze wewnątrz modułu lub motywu. Pliki te mają pierwszeństwo przed plikami niez lokalizowanymi.

BuskaMuza
źródło
jak możemy dokonać zmian w phtml? czy jest to możliwe, ponieważ w niektórych przypadkach muszę dodać lub usunąć coś na poziomie phtml, w takim przypadku jak to zrobić, a także układ xml?
Pradeep Kumar
a także kilka moich niestandardowych zmiennych lub mniej plików również trzeba zmienić w tym przypadku, jak to zrobić
Pradeep Kumar
3
Podobnie. Tylko pliki phtml powinny znajdować się pod, templatesa układy pod layoutfolderami. W przypadku motywów - jest to pierwszy poziom katalogów, w przypadku modułów - powinien być poniżej view/<area>.
BuskaMuza
@BuskaMuza Przykro mi, ale próbowałem różnych odmian XML i PHTML, ale tak się nie stało. Powiedz, że mój lokalny to ar_EG i chcę wstawić nowy plik CSS default_head_blocks.xml. Plik jest wywoływany z theme\Magento_Theme\layout... jaki dokładnie powinien być adres URL mojego zastąpienia?
Ahmad Alfy
2
default_head_blocks.xmlnie powinien nic wiedzieć o lokalizacji. Ścieżki do CSS powinny być przywoływane w XML jako <module>::css/<file>.css(dla pliku modułowego) lub css/<file>.css(dla pliku motywu). Jeśli umieścisz zlokalizowany plik CSS w <modue>/view/<area>/web/i18n/ar_EG/css/<file>.csslub w <theme>/web/i18n/ar_EG/css/<file>.cssśrodku, powinien on zostać automatycznie użyty w sklepie z ar_EGustawieniami regionalnymi.
BuskaMuza,
1

Zamiast kompletnego osobnego pliku dla innego języka możesz rozszerzyć kompozycję, zastępując pliki domyślne. Albo w pliku extensions.less lub theme.less. Poniżej może znajdować się struktura do zastąpienia.

yourtheme / web / i18n / yourlocale

Na przykład :

app \ design \ frontend \ Magento \ luma_custom \ web \ i18n \ ar_KW \ css \ source_theme.less

H.Husain
źródło