Typo3: у языков нет isoCodeA2 - PullRequest
0 голосов
/ 19 июня 2020

Я установил плагин выбора языка (https://extensions.typo3.org/extension/sr_language_menu/) и пытаюсь показать виджет выбора в моем. html -файле, пока он работает, и отображаются мои языки в раскрывающемся списке выбора, но я также пытаюсь показать флаг рядом с моим языком, который работает только для моего языка по умолчанию (DE), но не для другого языка, который я добавляю.

Я поместил виджет в моем html:

{namespace languageMenu=SJBR\SrLanguageMenu\ViewHelpers}
<languageMenu:widget.menu languages="0,2,3" layout="Select" languageTitle="1" />

, и всякий раз, когда я отлаживаю свои параметры в возвращаемом select, я получаю следующее:

Это для DE мой язык по умолчанию:

   option => array(9 items)
      uid => 0 (integer)
      isoCodeA2 => 'DE' (2 chars)
      countryIsoCodeA2 => '' (0 chars)
      combinedIsoCode => 'de' (2 chars)
      title => 'Deutsch' (7 chars)
      flagFile => 'typo3conf/ext/sr_language_menu/Resources/Public/Images/Flags/de.png' (67 chars)
      isAvailable => TRUE
      notAvailableTitle => 'Deutsch' (7 chars)
      isCurrent => TRUE

Как видите, доступно isoCodeA2, поэтому создается combinedIsoCode и, таким образом, flagFile получает право de.png

Но для моего второго языка я получаю это обратно:

   option => array(9 items)
      uid => 2 (integer)
      isoCodeA2 => '' (0 chars)
      countryIsoCodeA2 => '' (0 chars)
      combinedIsoCode => '' (0 chars)
      title => 'Deutsch (einfach)' (17 chars)
      flagFile => 'typo3conf/ext/sr_language_menu/Resources/Public/Images/Flags/.png' (65 chars)
      isAvailable => TRUE
      notAvailableTitle => 'Deutsch (einfach)' (17 chars)
      isCurrent => TRUE

Как видите, этот язык не имеет isoCodeA2 и, следовательно, combinedIsoCode, а flagFile только ссылки на пустой .png

Мой вопрос: как я могу установить isoCodeA2 для любого другого языка, кроме моего языка по умолчанию? Неважно, какие или сколько других языков я создаю, у них никогда не бывает этого isoCodeA2 в своих вариантах.

Я использую Typo3 9.5.18 с Docker. Любая помощь приветствуется!

config.yaml:

base: /
baseVariants: {}
errorHandling:
  - errorCode: "404"
    errorHandler: Page
    errorContentSource: "t3://page?uid=20"
languages:
  - title: Deutsch
    enabled: true
    base: /
    typo3Language: de
    locale: de_DE
    iso-639-1: de
    navigationTitle: Deutsch
    hreflang: de-DE
    direction: ""
    flag: de
    languageId: "0"
  - title: Deutsch_vereinfacht
    enabled: true
    base: /de/
    typo3Language: default
    locale: de_DE
    iso-639-1: de
    navigationTitle: Deutsch_vereinfacht
    hreflang: de-DE
    direction: ""
    fallbackType: strict
    fallbacks: "2"
    flag: de
    languageId: "2"
rootPageId: 18
routes: {}

1 Ответ

0 голосов
/ 22 июня 2020

Создание языка - это то, что вы должны сделать. Другой - языковая конфигурация.

Первый выполняется с записями на глобальной странице root.

Второй выполняется в конфигурации сайта (и данные хранятся в /config/sites/mydomin/config.yaml). здесь вы вводите код ISO.

...