Typo3 getTypoLink_URL在语言更改后创建错误的链接

时间:2014-11-17 16:49:47

标签: php module typo3 realurl

我希望我能设法解释这个问题...

我有一个处理共享内容的T3扩展程序。

在这个共享内容中,我们有链接(page-id),这些链接被定义并转换为/ en / clients / contact,使用

$cObj = t3lib_div::makeInstance('tslib_cObj');
$href = $cObj->getTypoLink_URL($linkValue); // $linkValue is an integer (e.g. 153)

这很好 - 直到我更改页面上的语言。然后,最后使用的URL有点“粘贴”,语言指示符不再出现在URL中。

意思是:

  • 致电德语页面 - >原理
  • 更改为英语 - >原理
  • 改回德国 - >提供英文链接。

所以上面的链接就像客户端/联系人一样(前导斜杠也消失了)。

奇怪的是,我有一个本地安装的同一页面没有出现问题。它就在网页上。

我试图找到配置上的差异,但没有。

我到目前为止唯一的区别是,我使用Typo3 v4.5.35进行本地安装,使用v4.7.17进行在线安装。

任何想法???

1 个答案:

答案 0 :(得分:0)

这很奇怪......但是,我找到了一个解决方案。

而不是使用$cObj->getTypoLink_URL($linkValue);我正在使用它:

$configurations['additionalParams'] = "&L=".(int)t3lib_div::_GP('L');
$configurations['returnLast'] = 'url'; // get it as URL
$configurations['parameter'] =  $linkValue;
$href = $cObject->typolink(NULL, $configurations); 

似乎当我创建$ cObj时,L参数在某处丢失了,有些则是。通过手动添加,链接按预期工作。