2014-09-19 2 views
0

У меня есть расширение новостей TYPO3 (не tt_news), чтобы отобразить меню даты с заархивированными новостями. Из меню архива вы можете перейти к list-view со всеми новостями за данный месяц. Из списка-списка вы можете перейти к деталям-просмотру, чтобы фактически просмотреть новость. В подробном представлении я настроил список как PageId, чтобы вернуться к.News 3.0.x - как сохранить overwriteDemand

Я думаю, что это стандартная установка и не имеет ничего особенного.

Ссылка из меню даты в список-список содержит параметр GET «overwriteDemand», который добавляет месяц и год к требованию списка, поэтому только новостные статьи за данный месяц/год показано на рисунке. На самом деле этот параметр GET не сохраняется при привязке к подробному представлению (с помощью n: link viewHelper) и поэтому также не возвращается к списку-представлению, когда я возвращаюсь к представлению списка из подробного представления. Поэтому список-список показывает все записи новостей после того, как я вернусь к списку с подробного просмотра.

Добавление кнопки javascript.back() не является решением для меня, так как я хочу использовать реальные ссылки.

Я что-то упустил или это недостающая функция?

ответ

1

Есть два способа справиться с этим.

Первый вариант заключается в редактировании шаблонов и добавлении параметров к ссылкам с использованием параметра argumentsf:link.page (или что-то подобное).

Второй вариант: создать новый шаблон расширения в дереве отдельной страницы и добавить некоторый typoscript, который сохраняет параметры в визуализированной ссылке. Имя конфигурации ist называется linkVars и описано здесь: http://docs.typo3.org/typo3cms/TyposcriptReference/Setup/Config/Index.html#linkvars

+0

tx_news использует собственный ViewHelper н: ссылку для создания ссылки на другие действия. Этот viewHelper позаботится обо всех настройках, настроенных для плагина, поэтому нет возможности просто перейти на f: link.page, так как вам нужно добавить все атрибуты самостоятельно. Это, похоже, не очень стабильно в будущем, и «аргументы» не являются параметром для n: link Ваш первый вариант подходит для подробного представления, если вы используете опцию addQueryString. – derhansen

0

tx_news использует <f:link.page в своих шаблонах. Я только что проверил на github tx_news, чтобы узнать, изменилось ли это, но все равно выглядит одинаково.

Это как tx_news порождает обратную:

<f:if condition="{settings.backPid}"> 
    <!-- Link Back --> 
    <div class="news-backlink-wrap"> 
     <f:link.page pageUid="{settings.backPid}"> 
      <f:translate key="back-link" /> 
     </f:link.page> 
    </div> 
</f:if> 

Так это выглядит как overwriteDemands не сохраняются. Я думаю, что это было бы очень хорошим решением для команды tx_news Dev-Team, чтобы сохранить перезаписываемые имена в обратном направлении.

У вас есть {overwriteDemand} в качестве объекта в шаблоне, поэтому сейчас вы можете использовать что-то вроде этого:

<f:link.action pageUid="{settings.backPid}" arguments="{overwriteDemand:{year: year, month: month}}">