【问题标题】:Typo3 getTypoLink_URL creates wrong link after language changeTypo3 getTypoLink_URL 在语言更改后创建错误的链接
【发布时间】:2014-11-17 16:49:47
【问题描述】:

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

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

在此共享内容中,我们使用

定义并转换为 /en/clients/contact 之类的链接(页面 ID)
$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 进行在线安装。

有什么想法吗???

【问题讨论】:

    标签: php module typo3 realurl


    【解决方案1】:

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

    我没有使用$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 参数在某时某处丢失了。通过手动添加,链接可以按预期工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多