1

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

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

在此共享内容中,我们有链接(页面 ID),它们被定义并转换为 /en/clients/contact 之类的内容,使用

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

这工作正常 - 直到我更改页面上的语言。然后,最后使用的 URL 有点«sticks»,并且语言指示符不再出现在 URL 中。

方法:

  • 调用德语页面 -> 作品
  • 更改为英文 -> 作品
  • 改回德语 -> 显示英文链接。

所以上面的链接结果就像客户/联系人(前导斜线也消失了)。

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

我试图找到配置中的差异,但没有任何差异。

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

有任何想法吗???

4

1 回答 1

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 参数在某个地方丢失了。通过手动添加,链接按预期工作。

于 2014-11-19T09:02:23.457 回答