Russian TYPO3 community Форум больше не используется. Присоединяйтесь к каналу #community-ru в Slack for TYPO3 community  

Вернуться   Russian TYPO3 community > Тематические форумы > TypoScript практикум

Ответ
 
Опции темы Опции просмотра
Старый 17.05.2011, 23:27   #11
-=UncleByte=-
Senior Member
 
Регистрация: 14.04.2006
Сообщений: 1,159
Отправить сообщение для -=UncleByte=- с помощью ICQ Отправить сообщение для -=UncleByte=- с помощью Skype™
По умолчанию

Посмотрел базу, насколько понял все отношения между новостями и категориями описываются в tt_news_cat_mm - там расписано к каким категориям имеет отношение новость: если к нескольким, то там несколько записей для одной новости.
-=UncleByte=- вне форума   Ответить с цитированием
Старый 18.05.2011, 00:48   #12
thebat
Senior Member
 
Аватар для thebat
 
Регистрация: 05.09.2006
Адрес: TYPO3.if.ua
Сообщений: 224
Отправить сообщение для thebat с помощью ICQ Отправить сообщение для thebat с помощью AIM Отправить сообщение для thebat с помощью MSN Отправить сообщение для thebat с помощью Yahoo Отправить сообщение для thebat с помощью Skype™
Question

Мы уже на шаг подошли ближе к решению.

Теперь нужно определить, как использовать полученную информацию?

Есть вопрос, где или в какой таблице делать выборку... 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

Возможно я ошибся ..., может кто поправит если это не так.
__________________
Василий Мосийчук
The BAT!
TYPO3.NET.UA
BLOG.TYPO3.NET.UA

Последний раз редактировалось thebat; 18.05.2011 в 01:28
thebat вне форума   Ответить с цитированием
Старый 18.05.2011, 02:52   #13
-=UncleByte=-
Senior Member
 
Регистрация: 14.04.2006
Сообщений: 1,159
Отправить сообщение для -=UncleByte=- с помощью ICQ Отправить сообщение для -=UncleByte=- с помощью Skype™
По умолчанию

Наверное логично будет использовать tt_news_cat_mm потому что любая из новостей может быть в нескольких категориях. То есть группируем по категории и подсчитываем количество новостей в данной категории учитывая при этом состояние новости в tt_news.
-=UncleByte=- вне форума   Ответить с цитированием
Старый 22.05.2011, 18:09   #14
thebat
Senior Member
 
Аватар для thebat
 
Регистрация: 05.09.2006
Адрес: TYPO3.if.ua
Сообщений: 224
Отправить сообщение для thebat с помощью ICQ Отправить сообщение для thebat с помощью AIM Отправить сообщение для thebat с помощью MSN Отправить сообщение для thebat с помощью Yahoo Отправить сообщение для thebat с помощью Skype™
По умолчанию

Спасибо, но система отвечает, что это не так...

table = tt_news_cat_mm
Oops, an error occured!
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.
Нет $TCA масива для "tt_news_cat_mm" это значить что "tt_news_cat_mm" отбрасываем и у нас остаетсяч только ""tt_news_cat" или ""tt_news"
__________________
Василий Мосийчук
The BAT!
TYPO3.NET.UA
BLOG.TYPO3.NET.UA
thebat вне форума   Ответить с цитированием
Старый 22.05.2011, 18:26   #15
-=UncleByte=-
Senior Member
 
Регистрация: 14.04.2006
Сообщений: 1,159
Отправить сообщение для -=UncleByte=- с помощью ICQ Отправить сообщение для -=UncleByte=- с помощью Skype™
По умолчанию

Странно, ведь таблица в базе присутствует. Или у меня какой-то неправильный tt_news?
-=UncleByte=- вне форума   Ответить с цитированием
Старый 22.05.2011, 18:50   #16
thebat
Senior Member
 
Аватар для thebat
 
Регистрация: 05.09.2006
Адрес: TYPO3.if.ua
Сообщений: 224
Отправить сообщение для thebat с помощью ICQ Отправить сообщение для thebat с помощью AIM Отправить сообщение для thebat с помощью MSN Отправить сообщение для thebat с помощью Yahoo Отправить сообщение для thebat с помощью Skype™
По умолчанию

Да, нет tt_news такой же и таблица "tt_news_cat_mm" присутствует, но при написании такой конструкцию typoscript

Код:
10 = CONTENT
10 {
	stdWrap.numRows {
		table = tt_news_cat_mm
	}
}
..., я получаю ошибку, описанную выше.
__________________
Василий Мосийчук
The BAT!
TYPO3.NET.UA
BLOG.TYPO3.NET.UA
thebat вне форума   Ответить с цитированием
Старый 22.05.2011, 19:03   #17
-=UncleByte=-
Senior Member
 
Регистрация: 14.04.2006
Сообщений: 1,159
Отправить сообщение для -=UncleByte=- с помощью ICQ Отправить сообщение для -=UncleByte=- с помощью Skype™
По умолчанию

Так может обойтись без numRows просто select'ом?
Т.е.
Код:
10 = CONTENT
10 {
     table = tt_news_cat_mm
     select {
         pidInList = this
         groupBy = uid_foreign
         selectFields = count(uid_foreign)
         ...
     }
}
За синтаксис mysql ручаться не буду, но принцип, думаю, отразил верно.
-=UncleByte=- вне форума   Ответить с цитированием
Старый 22.05.2011, 19:26   #18
thebat
Senior Member
 
Аватар для thebat
 
Регистрация: 05.09.2006
Адрес: TYPO3.if.ua
Сообщений: 224
Отправить сообщение для thebat с помощью ICQ Отправить сообщение для thebat с помощью AIM Отправить сообщение для thebat с помощью MSN Отправить сообщение для thebat с помощью Yahoo Отправить сообщение для thebat с помощью Skype™
По умолчанию

Ничего не выходит..., без разницы, что так:

Код:
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" ....????
__________________
Василий Мосийчук
The BAT!
TYPO3.NET.UA
BLOG.TYPO3.NET.UA

Последний раз редактировалось thebat; 22.05.2011 в 19:49
thebat вне форума   Ответить с цитированием
Старый 22.05.2011, 19:50   #19
-=UncleByte=-
Senior Member
 
Регистрация: 14.04.2006
Сообщений: 1,159
Отправить сообщение для -=UncleByte=- с помощью ICQ Отправить сообщение для -=UncleByte=- с помощью Skype™
По умолчанию

Ну вообще из примеров по запросам mysql. http://www.google.ru/search?q=подсчи...+по+полю+mysql
-=UncleByte=- вне форума   Ответить с цитированием
Старый 22.05.2011, 20:16   #20
thebat
Senior Member
 
Аватар для thebat
 
Регистрация: 05.09.2006
Адрес: TYPO3.if.ua
Сообщений: 224
Отправить сообщение для thebat с помощью ICQ Отправить сообщение для thebat с помощью AIM Отправить сообщение для thebat с помощью MSN Отправить сообщение для thebat с помощью Yahoo Отправить сообщение для thebat с помощью Skype™
По умолчанию

..., возможно, но вот этот простой typoscript:
Код:
20 = CONTENT
20 {
	table = tt_news
	select {
		pidInList = 1
		selectFields = count(*)
	}
	wrap = [|]
}
..., на выводе ничего не дал..., вообще ничего, а точнее [no news_id given] ...почему?
__________________
Василий Мосийчук
The BAT!
TYPO3.NET.UA
BLOG.TYPO3.NET.UA

Последний раз редактировалось thebat; 22.05.2011 в 20:32
thebat вне форума   Ответить с цитированием
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB code is Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывод списка категорий для новостей gvv100 Общие вопросы 4 06.05.2010 16:18
Постраничный вывод записей андрей Общие вопросы 3 31.05.2005 01:37


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


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

Хостинг и техническая поддержка: TYPO3 Лаборатория