![]() |
Форум больше не используется. Присоединяйтесь к каналу #community-ru в Slack for TYPO3 community |
|
|
#11 |
|
Senior Member
|
Посмотрел базу, насколько понял все отношения между новостями и категориями описываются в tt_news_cat_mm - там расписано к каким категориям имеет отношение новость: если к нескольким, то там несколько записей для одной новости.
|
|
|
|
|
|
#12 |
|
Senior Member
|
Мы уже на шаг подошли ближе к решению.
Теперь нужно определить, как использовать полученную информацию? Есть вопрос, где или в какой таблице делать выборку... tt_new или tt_news_cat_mm Я выяснил, что связи с записями tt_news прописаны в поле uid_local таблицы tt_news_cat_mm. tt_news_cat_mm связан сего полем uid_foreign и в поле UID в таблиці tt_news_cat. Схематично: tt_news.uid <> uid_local.tt_news_cat_mm - tt_news_cat_mm.uid_foreign <> uid.tt_news_cat Возможно я ошибся ..., может кто поправит если это не так. Последний раз редактировалось thebat; 18.05.2011 в 01:28 |
|
|
|
|
|
#13 |
|
Senior Member
|
Наверное логично будет использовать tt_news_cat_mm потому что любая из новостей может быть в нескольких категориях. То есть группируем по категории и подсчитываем количество новостей в данной категории учитывая при этом состояние новости в tt_news.
|
|
|
|
|
|
#14 |
|
Senior Member
|
Спасибо, но система отвечает, что это не так...
table = tt_news_cat_mm Oops, an error occured!Нет $TCA масива для "tt_news_cat_mm" это значить что "tt_news_cat_mm" отбрасываем и у нас остаетсяч только ""tt_news_cat" или ""tt_news" |
|
|
|
|
|
#15 |
|
Senior Member
|
Странно, ведь таблица в базе присутствует. Или у меня какой-то неправильный tt_news?
|
|
|
|
|
|
#16 |
|
Senior Member
|
Да, нет tt_news такой же и таблица "tt_news_cat_mm" присутствует, но при написании такой конструкцию typoscript
Код:
10 = CONTENT
10 {
stdWrap.numRows {
table = tt_news_cat_mm
}
}
|
|
|
|
|
|
#17 |
|
Senior Member
|
Так может обойтись без numRows просто select'ом?
Т.е. Код:
10 = CONTENT
10 {
table = tt_news_cat_mm
select {
pidInList = this
groupBy = uid_foreign
selectFields = count(uid_foreign)
...
}
}
|
|
|
|
|
|
#18 |
|
Senior Member
|
Ничего не выходит..., без разницы, что так:
Код:
10 = CONTENT
10 {
stdWrap.numRows {
table = tt_news_cat_mm
select {
pidInList = this
selectFields = count(*)
}
}
}
Код:
10 = CONTENT
10 {
table = tt_news_cat_mm
select {
pidInList = this
selectFields = count(*)
}
}
И мне еще не понятно из чего вы взяли, что это "count(*)" подсчитывает записи в таблице? Я пробовал составленную вам конструкция и на выводе ничего не получил ..., просто пусто, даже если указать что считать, к примеру во так "count(uid)" и даже если это считать в таблице "tt_news" ....???? Последний раз редактировалось thebat; 22.05.2011 в 19:49 |
|
|
|
|
|
#19 |
|
Senior Member
|
Ну вообще из примеров по запросам mysql. http://www.google.ru/search?q=подсчи...+по+полю+mysql
|
|
|
|
|
|
#20 |
|
Senior Member
|
..., возможно, но вот этот простой typoscript:
Код:
20 = CONTENT
20 {
table = tt_news
select {
pidInList = 1
selectFields = count(*)
}
wrap = [|]
}
Последний раз редактировалось thebat; 22.05.2011 в 20:32 |
|
|
|
![]() |
|
|
Похожие темы
|
||||
| Тема | Автор | Раздел | Ответов | Последнее сообщение |
| Вывод списка категорий для новостей | gvv100 | Общие вопросы | 4 | 06.05.2010 16:18 |
| Постраничный вывод записей | андрей | Общие вопросы | 3 | 31.05.2005 01:37 |