tt_news catmenu и list в одном окне
Уважаемые знатоки! Помогите пж с задачей! Допустим создано категорий n шт. В определенном стр, допустим нужно выводит n шт блоков и каждый блок должен содержать имя категорию и последные 3 новости с этой же категории. Допустим добавиш еще одну категорию, соответственно число блоков увеличится динамически. Спасибо откликнувшимся!
|
Подойти к задаче на чистом TypoScript можно так:
1. Сделать выборку через CONTENT из tt_news_cat 2. Для вывода каждой записи в renderObj сделать COA элемент, в который вставить plugin.tt_news 3. В настройку вставленных plugin.tt_news добавить categorySelection с uid текущей категории. Готовый код не берусь сваять, но вот примерная заготовка: Код:
page.10 > |
Дело в том, что нельзя допустить такой метод ввода. Добавил категорию в одном месте, с артиклами и все. Скрипт сам должен считать сколько там категорий, и выводит их в определенном месте по порядку, с 3 или 4 артиклами(новостями)
|
Я предложил решение исходной задачи. Возможно вы ее не достаточно подробно описали?
Подобный скрипт выведет все категории и для каждой категории связанные новости (столько штук, сколько настроите). Что касается места вывода, то конечно в скрипте это не отрегулируешь - все выведется подряд одно за другим. Но с помощью CSS float/width и т.п. вещей можно сделать вывод блоков в 2, 3 колонки. Если нужен более интелектуальный порядок вывода - например в 2 колонки и что бы блоки распределялись так, что бы колонки примерно одинаково были заполнены по высоте, то можете написать свой экст, который будет делать выборку категорий и новостей и формировать нужный контент. Это даже будет быстрей работать чем на TS, да и гибкости будет больше. |
Спасибо! Все сработало.
Даже в большом городе могут быт маленькие ошибки.
lib.nnn = COA_INT lib.nnn.10 > lib.nnn.10 = CONTENT lib.nnn.10.wrap = <section class="accordbk"> <article class="h"> <ul> | </ul></section></article> lib.nnn.10 { table = tt_news_cat select { selectFields = uid,title where = NOT deleted AND NOT hidden AND NOT parent_category pidInList = 6 max = 8 } renderObj = COA renderObj.wrap = <li> |</li> renderObj.10 = TEXT renderObj.10.field = title renderObj.10.wrap = <h3> | </h3> renderObj.20 < plugin.tt_news renderObj.20 { code = LATEST pid_list = 6 singlePid = 5 stdWrap.wrap = | categorySelection = {field:uid} categoryMode = 1 categorySelection.insertData = 1 stdWrap.wrap = <div> | </div> } } ....... subparts.cont < lib.nnn можете посмотреть http://olim.hostedon.com |
Чудесно :) Осталось только допились HTML шаблоны и CSS.
Только в условии where писать "NOT deleted AND NOT hidden" не обязательно, такие условия ядро TYPO3 всегда добавляет само. И не используте COA_INT, так как tt_news очень медлителен, а тут он еще и вызывается N раз. Если нужно регулярное обновление, то лучше сделать COA и поставить срок жизни кэша для этой страницы в 15 или 30 минут (задается в свойствах страницы). |
IMHO как то не кошерно запихивать в <li> тэги h3 + div, делайте все на div-ах.
|
Часовой пояс GMT +4, время: 06:34. |
Работает на vBulletin® версия 3.8.1.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot