Russian TYPO3 community

Russian TYPO3 community (http://forum.typo3.ru/index.php)
-   TypoScript практикум (http://forum.typo3.ru/forumdisplay.php?f=27)
-   -   Подсчет и вывод записей в текущей категории средствами typoscript (http://forum.typo3.ru/showthread.php?t=9461)

-=UncleByte=- 23.05.2011 08:46

Вероятнее всего потому что не задан никакой отличный от обычного для tt_news вариант рендеринга контента.

thebat 23.05.2011 13:37

Да... становится очень интересно! Вы имеет ввиду свойство "renderObj"?

-=UncleByte=- 23.05.2011 14:04

Ну скорее всего необходимо сделать этот самый RenderObj потому что по умолчанию для этой таблицы нет никакого представления рендеринга. Плюс если посмотреть описание той функции что выдает ошибку
Цитата:

There is no entry in the $TCA array for the table "tt_news_cat_mm". This means that the function enableFields() is called with an invalid table name as argument.
видно что она проверяет как раз наличие полей типа deleted - hidden и т.д. Само собой их там нет, поскольку таблица создается не для хранения контента, но для связи категорий и новостей.
Поэтому, скорее всего, и нужно "придумать" и описать каким образом это рендерить.
Хотя, честно сказать, я думаю что проще сделать внешнюю функцию, в которую запихать один цикл и один общий sql запрос и просто брать из нее результат.

thebat 23.05.2011 15:03

Да, я знаю, что можно написать PHP скрипт и он все это сделает, но задача стоит сделать это именно средствами TYPOSCRIPT, и к тому же я не программист.

Главное что я уже знаю наверняка, что обращаться к таблице "tt_news_cat_mm" не надо.

Возьмем две таблицы "tt_news_cat" и "tt_news" в "tt_news_cat" определяем категорию, а в "tt_news" считаем новости в это категории.

Честно говоря я уже близок к решению.

-=UncleByte=- 23.05.2011 15:33

Я вот смотрю в таблицу tt_news и вижу что в category встречается только цифры 1 и 2, в то время как на самом деле есть 3 работающих категории и одна удаленная и это реально отражено только в таблице tt_news_cat_mm и нигде больше.

thebat 23.05.2011 15:39

Да, смотрел я уже все таблицы и все так как вы пишите есть на самом деле.

И так, к примеру есть список новостей в том виде в котором я описывал выше.

Вопрос как определить "uid" текущей категории?

Определив "uid" текущей категории можно будьте посчитать привязанные к ней новости.

-=UncleByte=- 23.05.2011 16:04

Значит надо каким-то образом обрабатывать tt_news_cat_mm - а как это сделать я пока не придумал. Внешней функцией было бы проще всего.

thebat 23.05.2011 16:05

Осталось еще чуть чуть...

Вот мне здесь нужно поставить uid текущей категории

Код:

andWhere = tt_news_cat_mm.uid_foreign = uid текущей категории
Как её определить, я имею ввиду uid текущей категории?

-=UncleByte=- 23.05.2011 17:03

Насколько помню через register как-то можно, надо смотреть документацию по tt_news

thebat 23.05.2011 17:31

И так, проблема решена.

Вот он выстраданный код:

Код:

andWhere.wrap = tt_news_cat_mm.uid_foreign = {register:newsCategoryUid}
andWhere.insertData = 1
join = tt_news_cat_mm ON (tt_news_cat_mm.uid_local = tt_news.uid)

Всем спасибо.


Часовой пояс GMT +4, время: 11:00.

Работает на vBulletin® версия 3.8.1.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot