Typo3 getTypoLink_URL создает неправильную ссылку после смены языка

Я надеюсь, что смогу объяснить эту проблему …

У меня есть расширение T3, которое обрабатывает общий контент.

В этом общем контенте у нас есть ссылки (идентификаторы страниц), которые определены и преобразованы во что-то вроде / 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

Решение

Это было очень странно … но я нашел решение.

Вместо того, чтобы использовать $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-параметр где-то потерялся, когда-нибудь. Добавляя его вручную, ссылка работает как положено.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]