Magento 2: Unterschiedliche Dateien mit statischem Inhalt pro Gebietsschema?

15

In Magento 2 sieht eine statische Inhalts-URL folgendermaßen aus

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

Dies schließt einen en_USGebietsschemateil ein. Dies impliziert auch dies

  1. Mit Magento 2 können Sie verschiedene statische Inhaltsdateien pro Gebietsschema erstellen
  2. Magento 2 verarbeitet statische Inhaltsdateien für Locale / Gettext-Strings

Welche der obigen Aussagen ist wahr? Oder sind beide wahr? Oder auch nicht?

Wie stelle ich als Magento-Modulentwickler statische Inhaltsdateien für jedes Gebietsschema bereit? Wäre das anders, wenn ich ein Theme-Entwickler wäre?

Alan Storm
quelle

Antworten:

12

Mit Magento können statische Asset-Dateien pro Gebietsschema im Modul oder Thema bereitgestellt werden. Um solche lokalisierten Dateien bereitzustellen, legen Sie sie in einem web/i18n/<locale>Ordner innerhalb des Moduls oder eines Themas ab. Diese Dateien haben Vorrang vor nicht lokalisierten Dateien.

BuskaMuza
quelle
wie können wir die änderungen in phtml machen? ist es möglich, weil ich in einigen Fällen etwas in der HTML-Ebene hinzufügen oder entfernen muss, in diesem Fall, wie es geht und auch XML-Layout?
Pradeep Kumar
und auch einige meiner benutzerdefinierten Variablen oder weniger Dateien müssen in diesem Fall geändert werden, wie es geht
Pradeep Kumar
3
Gleich. Nur PHP-Dateien sollten sich unter templatesund Layouts unter layoutOrdnern befinden. Für Themes - dies ist die erste Verzeichnisebene, für Module - sollte sie darunter liegen view/<area>.
BuskaMuza
@BuskaMuza Es tut mir leid, aber ich habe verschiedene Varianten für XML und PHTML ausprobiert, aber nicht. Angenommen, mein Local ist ar_EG und ich möchte eine neue CSS-Datei einfügen default_head_blocks.xml. Die Datei heißt von theme\Magento_Theme\layout... was genau soll die URL meiner Außerkraftsetzung sein?
Ahmad Alfy
2
default_head_blocks.xmlsollte nichts über das Gebietsschema wissen. CSS-Pfade sollten in XML als <module>::css/<file>.css(für modulare Dateien) oder css/<file>.css(für Designdateien) bezeichnet werden. Wenn Sie Ihre lokalisierte CSS-Datei in <modue>/view/<area>/web/i18n/ar_EG/css/<file>.cssoder einfügen <theme>/web/i18n/ar_EG/css/<file>.css, sollte sie automatisch für ein Geschäft verwendet werden ar_EG, dessen Gebietsschema ausgewählt wurde.
BuskaMuza
1

Anstatt eine separate Datei für eine andere Sprache zu erstellen, können Sie das Thema erweitern, indem Sie die Standarddateien überschreiben. Entweder in der Datei extend.less oder theme.less. Unten kann die zu überschreibende Struktur stehen.

yourtheme / web / i18n / yourlocale

Zum Beispiel :

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

H.Husain
quelle