我想在现有项目中添加一种以/pt/开头的其他语言。我在后端添加了葡萄牙的语言,它被赋予 uid=14。
我还将此配置包含在另一个扩展中,它已正确加载,正确显示在后端"配置"模块中。
$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['realurl']['_DEFAULT']['preVars'][0] = array(
'GETvar' => 'L',
'valueMap' => array(
'de' => 1,
...
'pt' => 14
),
'noMatch' => 'bypass'
);
网址 mydoma.in/pt 已正确解析,并且具有正确的语言。但是,链接帮助程序未正确编码为 L=14 的链接以 mydoma.in/pt。意味着这个流体模板给了我一个带有 href="/" 的链接
<f:link.page additionalParams="{L:14}" addQueryString="true" addQueryStringMethod="POST,GET">portugal</f:link.page>
能是什么?
您是否为新语言设置了 TypoScript 配置?像这样:
[globalVar = GP:L=14]
config {
sys_language_uid = 14
language = pt
locale_all = pt
htmlTag_stdWrap.cObject.20.value = lang="pt"
}
[global]
这无法通过配置来解决。出于某种原因,L=14 个链路曾经解析为"/",可能是在配置错误时。它存储在数据库表tx_realurl_urldata中 - 无论我进行什么设置,它都是从那里获取的。删除这些条目解决了问题。注意:即使设置 enableUrlEncodeCash = 0 也不会阻止 realurl (2.1.2( 使用上述表格对链接进行编码。它只是阻止扩展在该表中存储新的 URL。