#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-адреса в этой таблице.