Словари и термины в View

Главные вкладки

Аватар пользователя Strycker Strycker 18 августа 2009 в 23:59

Коллеги.

Никак не пойму как мне сделать вывод информации.
Суть в чём. Есть нода, которую описывают термины из нескольких словарей: словарь1 - единственный термин, словарь2 - набор терминов. Я пытаюсь с помощью view сделать страничку, которая бы выглядела следующим образом
- Имя ноды
- название словаря1
- термин словаря 1
- название словаря2
- термин словаря 2
- термин словаря 2
- термин словаря 2
- термин словаря 2
... и так далее.

Единственное что получается это просто Имя ноды и под ней термины из всех словарей без разделения. Остальные варианты которые я пробовал, когда добавлял к полям название словаря, не подходят - получается полный бред: выводится одна и таже нода со списком всех терминов, несколько раз.

Куда копать?

Комментарии

Аватар пользователя gn@drupal.org gn@drupal.org 19 августа 2009 в 0:35

Я бы такие вещи делал не через таксономию, а через CCK.
Имя ноды
- название параметра 1
- значение 1
- название параметра 2
- значение 1
- значение 2
- значение 3
и так далее.
И получается оно штатными средствами, даже при обычном выводе ноды совсем без view.

Аватар пользователя Strycker Strycker 19 августа 2009 в 11:44

gn@drupal.org, в принципе согласен.

Правда есть одно Но: по значениям хотелось бы потом делать сортировку нод. Т.е. как сделать view с выводом всех нод и фильтрами по значениям - это понятно. Но как потом сделать так, чтоб нажав по значению получить список нод, у которых есть это значение? Это же ведь функция таксономии, правильно?

Аватар пользователя gn@drupal.org gn@drupal.org 19 августа 2009 в 23:54

Ну да, с таксономией сложнее получается вывод, но проще переход.
Сделать ссылку со значения CCK на список нод, где оно встречается, несложно, но те варианты решения, которые мне навскидку приходят в голову, не очень красивы.

Аватар пользователя Strycker Strycker 19 августа 2009 в 15:13

ХОрошая ссылка, только не всем подходит. Я пока не на столько хорошо знаю друпал и его БД, чтоб пользоваться такими способами, к сожалению.

Аватар пользователя Strycker Strycker 20 августа 2009 в 0:07

Согласен.
Обдумал оба варианта, решил что лучше всё таки крутить вертеть через таксономию. Решил, что буду разбираться как красиво вывести таксономию для ноды. Определил для себя, что первое что попробую это будет редактирование шаблона вывода node-<имя_ноды>.tpl.php. Есть на этом ресурсе пару интересных статей на эту тему. На мой взгляд это самый правильный вариант в моём случае.

Спасибо всем за обсуждение.
Дискуссия не рождает правильный и четкий ответ, она всего лишь указывает верное направление, что несомненно ценнее для ищущего ума (с) Wink

Аватар пользователя HIgor1968 HIgor1968 20 августа 2009 в 14:17

Собственно у меня в п.5 как раз такой вывод.
Пример с рабочего сайта

//Выводим все словари  таксономии
                foreach(taxonomy_node_get_terms($node, 'vid') as $name3 => $value3) {
                                //echo "<br> $name3 : $value3";
                                $vocabulary = taxonomy_vocabulary_load($name3);
                                echo '<div class = "pole_l0" id = "term' . $vocabulary->vid . '"><p><b>' . $vocabulary->name . ': </b>';
                $cc = '';
                $rr = '';
                $ii = 1;
                foreach (taxonomy_node_get_terms_by_vocabulary($node, $name3,'description') as $name => $value1) {
                if($ii>1){$rr = ', ';}
                $cc = $cc . $rr . $name;
                $ii +=1;}
                echo $cc . '</p></div>';               
                        }

Вставлен в node-.....tpl.php

Аватар пользователя Strycker Strycker 23 августа 2009 в 16:40

Отображает описание, а не сам термин словарей.
Видимо этот код изначально и был так написан. Постараюсь разобраться и переписать. Хотя, если признаться, это довольно сложно, с учётом того что я не изучал php и с друпалом общаюсь только вторую неделю Wink