Искать  
 
   
1 из 3
1
Список из дополнительного поля
Отправлено: 13 Февраль 2010 10:02 A.M.   [ Игнорировать ]
Member
Avatar
RankRankRank
Всего сообщений:  363
Зарегистрирован  2009-01-02

Вобщем ситуация такая: есть блог с дополнительными полями. Одно из них текстовое поле (1 строка) “cms”. Туда вводится одно название.

Нужно сделать: страницу, где бы выводились все слова из этого поля со всех записей, и ссылка с них должна вести на страницу, где бы выводились все записи, в которых есть это слово в поле.

Например, у нас в двух записях блога - два значения поля cms: это Wordpress и Joomla.

На странице test выводятся эти два слова, нажимаем на Joomla, и попадаем на страницу test2 со всеми записями блога, в которых было введено joomla в поле cms.

Как это реализовать?

 Подпись 

Я в космосе

Профиль
 
 
Отправлено: 13 Февраль 2010 12:49 P.M.   [ Игнорировать ]   [ # 1 ]
Администратор
RankRankRankRank
Всего сообщений:  1354
Зарегистрирован  2008-01-02

search:field_name= ?

{exp:weblog:entries weblog="news" search:CMS="{WHAT_DO_YOU_NEED}"}
{title}
{
/exp:weblog:entries} 
 Подпись 

booooring…

Профиль
 
 
Отправлено: 13 Февраль 2010 12:51 P.M.   [ Игнорировать ]   [ # 2 ]
Member
Avatar
RankRankRank
Всего сообщений:  363
Зарегистрирован  2009-01-02

Не то. Должно автоматом браться из блога news допустим все значения поля cms, а не то, что я впишу в search:CMS. И потом должно быть название этого поля а не title

 Подпись 

Я в космосе

Профиль
 
 
Отправлено: 13 Февраль 2010 12:55 P.M.   [ Игнорировать ]   [ # 3 ]
Администратор
RankRankRankRank
Всего сообщений:  1354
Зарегистрирован  2008-01-02

и??? ну передаешь возможное содержимое поля (со страницы test ) через post/get/segment и вставляешь в качестве параметра. Или я чего-то не понимаю?
И причем тут название поля? {title} это я так - что попало под руку, то и скопировал.

 Подпись 

booooring…

Профиль
 
 
Отправлено: 13 Февраль 2010 12:58 P.M.   [ Игнорировать ]   [ # 4 ]
Member
Avatar
RankRankRank
Всего сообщений:  363
Зарегистрирован  2009-01-02

Не, ты не понял. Я ничего не передаю. Есть страница test, http://site.ru/test/
Там должны выводится абсолютно все значения поля cms из всех записей блога news. то есть сегментов нету, значения брать не нужно из сегментов. Вот какой момент для меня важен

 Подпись 

Я в космосе

Профиль
 
 
Отправлено: 13 Февраль 2010 12:59 P.M.   [ Игнорировать ]   [ # 5 ]
Администратор
RankRankRankRank
Всего сообщений:  1354
Зарегистрирован  2008-01-02

а, ок.  таск - нужно формировать список на странице test?

 Подпись 

booooring…

Профиль
 
 
Отправлено: 13 Февраль 2010 01:00 P.M.   [ Игнорировать ]   [ # 6 ]
Member
Avatar
RankRankRank
Всего сообщений:  363
Зарегистрирован  2009-01-02

да, и чтобы в url значения было само значение. То есть вот так примерно:
site.ru/test2/joomla
site.ru/test2/wordpress
и т.д. Это ссылки уже выведенных значений

 Подпись 

Я в космосе

Профиль
 
 
Отправлено: 13 Февраль 2010 01:07 P.M.   [ Игнорировать ]   [ # 7 ]
Администратор
RankRankRankRank
Всего сообщений:  1354
Зарегистрирован  2008-01-02

думаю только query и запрос типа

SELECT DISTINCT  field_id_1 FROM exp_weblog_data 
 Подпись 

booooring…

Профиль
 
 
Отправлено: 13 Февраль 2010 01:07 P.M.   [ Игнорировать ]   [ # 8 ]
Member
Avatar
RankRankRank
Всего сообщений:  363
Зарегистрирован  2009-01-02

smile Я догадывался, что только запросом, вот только писать их совсем не умею :( . Думал плагин есть какой то

 Подпись 

Я в космосе

Профиль
 
 
Отправлено: 13 Февраль 2010 01:10 P.M.   [ Игнорировать ]   [ # 9 ]
Администратор
RankRankRankRank
Всего сообщений:  1354
Зарегистрирован  2008-01-02

плагина я такого не встречал (да и как-то неправильно думаю делать целый плагин из-за 5 слов запроса).
Попробуй то что я выше написал, только номер поля надо правильный поставить.

 Подпись 

booooring…

Профиль
 
 
Отправлено: 13 Февраль 2010 01:11 P.M.   [ Игнорировать ]   [ # 10 ]
Member
Avatar
RankRankRank
Всего сообщений:  363
Зарегистрирован  2009-01-02

Хорошо, буду пробывать, о результатах напишу сюда

 Подпись 

Я в космосе

Профиль
 
 
Отправлено: 13 Февраль 2010 03:12 P.M.   [ Игнорировать ]   [ # 11 ]
Member
Avatar
RankRankRank
Всего сообщений:  363
Зарегистрирован  2009-01-02

Вот так сделал:

{exp:query sql="
SELECT field_id_7
FROM exp_weblog_data
LIMIT 50
"
}

{cms}

{
/exp:query} 

Отображается 5 раз {cms}, так как всего 5 записей - тут все правильно. Но как мне отобразить вместо {cms} - название поля? как то нужно таблицу exp_weblog_titles объединить..

 Подпись 

Я в космосе

Профиль
 
 
Отправлено: 13 Февраль 2010 06:12 P.M.   [ Игнорировать ]   [ # 12 ]
Sr. Member
Avatar
RankRankRankRank
Всего сообщений:  463
Зарегистрирован  2009-08-07

В твоем случае нужно вместо {cms} писать {field_id_7}. Т.е. в круглых скобках пишешь название тех полей, которые используешь в запросе.
Если хочешь использовать нужное тебе слово, например other_cms, то:

{exp:query sql="
SELECT field_id_7 as other_cms 
FROM exp_weblog_data
LIMIT 50
"
}

{other_cms}

{
/exp:query} 
 Подпись 

Ум - как бюст: надо иметь, но выпячивать не стоит
SSD Cloud Hosting

Профиль
 
 
Отправлено: 13 Февраль 2010 08:59 P.M.   [ Игнорировать ]   [ # 13 ]
Member
Avatar
RankRankRank
Всего сообщений:  363
Зарегистрирован  2009-01-02

Супер, все работает. а как сделать условие или что там, чтобы одни и те же значения поля не повторялись, а объединялись в одно?

 Подпись 

Я в космосе

Профиль
 
 
Отправлено: 13 Февраль 2010 10:36 P.M.   [ Игнорировать ]   [ # 14 ]
Администратор
RankRankRankRank
Всего сообщений:  1354
Зарегистрирован  2008-01-02

DISTINCT - я же выше писал. Можно так же использовать GROUP BY, но по нагрузке лучше DISTINCT

{exp:query sql="
SELECT DISTINCT field_id_7 as other_cms 
FROM exp_weblog_data
LIMIT 50
"
}

{other_cms}

{
/exp:query} 
 Подпись 

booooring…

Профиль
 
 
Отправлено: 13 Февраль 2010 10:48 P.M.   [ Игнорировать ]   [ # 15 ]
Member
Avatar
RankRankRank
Всего сообщений:  363
Зарегистрирован  2009-01-02

Спасибо, все пашет идеально. А если усложнить и в скобках напротив выводимого значения вывести сколько раз использовалось оно в записях?
Например: joomla (5), worpress (3) и т.д. smile

 Подпись 

Я в космосе

Профиль
 
 
   
1 из 3
1