我已经设置 RealURL 来生成 url,但它在更改语言后生成混合语言 url。清除缓存并且不更改语言后,网址保持活动语言,没问题。但是在更改语言后,网址变得混合了。语言预设和页面名称保持正确,但描述是两种语言的混合。例如,下面的链接 url 是在同一页面上生成的:
/de/anzeige/kategorie/1/vorrat/all.html (this is correct)
/de/anzeige/categorie/1/voorraad/all.html (mix between german & dutch)
看起来像一个缓存问题?我现在通过在 realurl 配置文件中的语言之间进行所有组合来修复它,但这会使文件变得复杂。
在 realurl 配置文件中,我在开始时使用以下代码进行语言选择:
$lang = substr($_SERVER['REQUEST_URI'], 1, 2);
if($lang=='de') {
$cat = 'kategorie';
$alias = 'COALESCE(name_de, name_en, name_nl)';
}
else {
$cat = 'categorie';
$alias = 'COALESCE(name_nl, name_en, name_de)';
}
这部分在 postVarSets 中用于从数据库中获取类别名称。我如何从数据库中获取类别名称会有问题吗?
$cat => array(
array (
'GETvar' => 'extension[catname]',
'lookUpTable' => array (
'table' => 'database_table',
'id_field' => 'uid',
'alias_field' => 'uid',
'addWhereClause' => ' AND NOT deleted',
'useUniqueCache' => '1',
'useUniqueCache_conf' => array (
'strtolower' => '1',
'spaceCharacter' => '-',
),
),
),
array (
'GETvar' => 'extension[catname]',
'lookUpTable' => array (
'table' => 'database_table',
'id_field' => 'uid',
'alias_field' => $alias,
'addWhereClause' => ' AND NOT deleted',
'useUniqueCache' => '1',
'useUniqueCache_conf' => array (
'strtolower' => '1',
'spaceCharacter' => '-',
),
),
),
),
),