Сбой дополнительного языка в realurl

#typo3 #realurl #language-switching

#typo3 #realurl #переключение языка

Вопрос:

я хотел бы добавить дополнительный язык, начинающийся с /pt/ в существующий проект. Я добавил язык для Португалии в серверную часть, ему был присвоен uid = 14.

Я также включаю эту конфигурацию в другое расширение, она правильно загружена, правильно отображается в модуле «Конфигурация» сервера.

 $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['realurl']['_DEFAULT']['preVars'][0] = array(
    'GETvar' => 'L',
    'valueMap' => array(
        'de' => 1,
        ...
        'pt' => 14
    ),
    'noMatch' => 'bypass'
);
  

URL-адрес mydoma.in/pt правильно разрешен и имеет правильный язык. Но ссылка с L = 14 неправильно кодируется помощником ссылки для mydoma.in/pt . Означает, что этот гибкий шаблон дает мне ссылку с помощью href=»/»

 <f:link.page additionalParams="{L:14}" addQueryString="true" addQueryStringMethod="POST,GET">portugal</f:link.page>
  

Что это может быть?

Ответ №1:

Настроили ли вы конфигурацию TypoScript для вашего нового языка? Что-то вроде:

 [globalVar = GP:L=14]
config {
    sys_language_uid = 14
    language = pt
    locale_all = pt
    htmlTag_stdWrap.cObject.20.value = lang="pt"
}
[global]
  

Ответ №2:

Это не может быть решено конфигурацией. По какой-то причине ссылки L = 14 однажды были преобразованы в «/», вероятно, из-за неправильной настройки. Это было сохранено в таблице базы данных tx_realurl_urldata — и было взято оттуда независимо от того, какие настройки я сделал. Удаление этих записей решило проблему. Примечание: даже установка enableUrlEncodeCash = 0 не мешает realurl (2.1.2) кодировать ссылку с использованием указанной таблицы. Это просто не позволяет расширению сохранять новые URL-адреса в этой таблице.