Проблемы с выбором языка typo3 после выбора нового языка - PullRequest
0 голосов
/ 02 июля 2018

Привет, на моем сайте typo3 8 я добавил выбор языка. Выбор языка работает нормально, контент переключается с немецкого на английский, он отлично работает, контент переключается правильно.

Проблема в том, что когда я нажимаю на ссылку в английской версии, она всегда возвращается к немецкой ссылке, потому что /en/ отсутствует в URL ссылки

enter image description here

URL-адрес в браузере выглядит хорошо, en есть, но в навигации URL-адрес страницы не содержит en

Я использую Typo3 8 и realURL

TypoScript:

config {
  sys_language_uid = 0
  language         = de
  locale_all       = de_DE.UTF-8
  htmlTag_langKey  = de
}

config.tx_realurl_enable = 1 

[globalVar = GP:L = 1]
config {
  sys_language_uid = 1
  language         = en
  locale_all       = en_US.UTF-8
  htmlTag_langKey  = en
}
[global]

temp.langMenu = HMENU
    temp.langMenu.special = language
    temp.langMenu.special.value = 0,1
    temp.langMenu.1 = GMENU
    temp.langMenu.1.NO {
    XY = [5.w]+4, [5.h]+4
    transparentColor = #17353e
      backColor = #17353e
    5 = IMAGE
    5.file = fileadmin/design/images/flag_de.gif || fileadmin/design/images/flag_en.gif

 }

    temp.langMenu.1.ACT < lib.langMenu.1.NO
    temp.langMenu.1.USERDEF1 < lib.langMenu.1.NO

    temp.langMenu.1.USERDEF1 = 1
    temp.langMenu.1.USERDEF1.5.file = fileadmin/design/images/flag_de.gif || fileadmin/design/images/flag_en.gif
    temp.langMenu.1.USERDEF1.noLink = 1

RealURL Config:

    <?php
$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['realurl']=array (
  '_DEFAULT' => 
  array (
    'init' => 
    array (
      'appendMissingSlash' => 'ifNotFile,redirect',
      'emptyUrlReturnValue' => '/',
    ),
    'pagePath' => array(
                'type' => 'user',
                'userFunc' => 'EXT:realurl/class.tx_realurl_advanced.php:&tx_realurl_advanced->main',
                'spaceCharacter' => '-',
                'languageGetVar' => 'L',
                'expireDays' => 7,
                'rootpage_id' => 1,
                'firstHitPathCache' => 1,
            ),
    'fileName' => 
    array (
      'defaultToHTMLsuffixOnPrev' => 0,
      'acceptHTMLsuffix' => 1,
      'index' => 
      array (
        'print' => 
        array (
          'keyValues' => 
          array (
            'type' => 98,
          ),
        ),
      ),
    ),
    'preVars' => 
    array (
      0 => 
      array (
        'GETvar' => 'L',
                    'valueMap' => array(
                        'de' => '0',
                        'en' => '1',
                        ),
                    'valueDefault' => 'de',
                    # 'noMatch' => 'bypass',
      ),
    ),
  ),
);

В чем моя неудача в этом случае? Заранее спасибо.

1 Ответ

0 голосов
/ 02 июля 2018

Вам необходимо добавить config.linkVars = L(0-1) в вашу конфигурацию Typoscript. Это скажет системе TYPO3 передать этот параметр связи каждому сгенерированному URL.

Обратите внимание, что эта конфигурация будет применяться только к внутренним ссылкам, созданным самой системой TYPO3: например, в меню или при ссылке на другую страницу в RTE. Абсолютно размещенные ссылки не будут затронуты этой конфигурацией.

Документы: https://docs.typo3.org/typo3cms/TyposcriptReference/Setup/Config/Index.html#linkvars

...