Как сделать автоматическую выборку-фильтрацию по типу нод и по термину таксономии

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

Аватар пользователя Valeratal Valeratal 7 мая 2010 в 21:04

Подскажите такой вопрос
Как сделать как на картинке

То есть, что хотелось бы

При заходе на термин таксономии (пусть например "термин1"), показывались бы блоки, по виду ноды

Например

Статьи по теме "термин1"
Статья1
Статья2
Статья3
Статья4
подробнее (ссылка на тизерное представление)

Записи в блога по теме "термин1"
Запись в блоге1
Запись в блоге2
Запись в блоге3
Запись в блоге4
подробнее (ссылка на тизерное представление, блогов с термином "термин1)

Понятно, что можно наделать блоков для одного термина

Но, для каждого термина не наделаешь ведь
Хотелось бы автоматизировать этот процесс

Ну и размещение по блокам тоже автоматизировать

ВложениеРазмер
Иконка изображения block_c.png36.2 КБ

Комментарии

Аватар пользователя krock krock 7 мая 2010 в 22:50

В аргументы можно засунуть ID термина. (если мы об одном и том же). А потом эти аргументы через слэш подставлять. Например, http://site.com/news/2, где 2 - это ID термина. Не забудьте только создать страничную вьюху с путём news (можно "пустую").

Аватар пользователя Valeratal Valeratal 8 мая 2010 в 9:10

решил разбить задачу на 2

сначало разобраться
Как вывести ноды определенного вида с одним термином таксономии

Что делал

У вьюс есть стандартный перекрывающий ядерный, вывод таксонмии

Это страница, путь у нее

taxonomy/term/%

И аргументы
Таксономия: ID Термина (с глубиной)
и Term ID depth modifier

Что делаю я
Дублирую эту же страницу
Добавляю фильтр - по определенному типу ноды (у меня это articles)
И путь делаю таким образом

taxonomy/term/%/articles

Правильно ли делаю?

Аватар пользователя Oleksa@drupal.org Oleksa@drupal.org 8 мая 2010 в 12:54

"Valeratal" wrote:
У вьюс есть стандартный перекрывающий ядерный, вывод таксонмии
Это страница, путь у нее
taxonomy/term/%

Вы вообще пошли в другую сторону, от первоначальной задачи. Как пишет penexe "Курите аргументы" Wink
http://www.drupal.ru/node/21692

Лично я бы делал эту задачу через panels . Делается элементарно http://drupal.ru/node/41143

Аватар пользователя Valeratal Valeratal 10 ноября 2015 в 11:46

Спасибо за ссылки

Попробую другим путем
вывести список заголовков нод, с определенным термином на странице этого термина

Блог создал (собственно в том же видел)
Убрал имеющиеся по умолчаню аргументы, добавил аргумент ID термина

ну и создал блок и вывожу его в нужном месте (так как у меня псс-авто, то выводится только при "tag*")

Код блока, из темы по ссылке

<?php
$view 
views_get_view('taxonomy_term'); // имя вида 
$viewblock $view->execute_display('block_1',arg(2));
return 
$viewblock['content'];
?>

Блок выводится, но не могу понять даже, но выводятся ноды по другому термину (точне блок выводится, но ноды одни и те же, по одному конкретному термину выведенные

Аватар пользователя Oleksa@drupal.org Oleksa@drupal.org 8 мая 2010 в 20:31

Нет, вам нужно из url брать id , views сам этого не может, тут без кастомного кода не обойтись. Ок, попробую объяснить на примере.
Есть например форум (стандартный друпаловский)
Если перейти в какой нибудь раздел то ссылка будет выглядеть примерно так:
http://mysite.ru/forum/92
92 - это аргумент.
Вам нужно что бы когда вы находились на этой странице (http://mysite.ru/forum/92) во все блоки передавался этот аргумент (или по другому плавающий фильтр) и соответственно отражались только соответствующие статьи или картинки и т.п.

Так вот что бы views блок подхватывал этот аргумент , вам нужно:
Arguments -> Таксономия: Term ID -> Provide default argument -> php code

и в блок с php кодом вставьте:
return arg(1);//забираем из url наш аргумент и пользуемся им

Аргументы считаются 0,1,2.. т.е. в зависимости на каком месте в url у вас аргумент

Сохраняете помещаете блок куда нужно.
И теперь на странице (http://mysite.ru/forum/92) в этом блоке будут отражаться статьи из 92
на странице (http://mysite.ru/forum/100) из 100 и т.д.

Аватар пользователя Valeratal Valeratal 8 мая 2010 в 22:25

Спасибо, все получилось
Таким образом, я могу сделать несколько таких блоков
В каждом добавить свой фильтр по типу нод (блоги, форумы, новости, статьи и тд)

Кстати, если блоки в панельс помещать, будет работать этот перехвать из URL?

Аватар пользователя Oleksa@drupal.org Oleksa@drupal.org 8 мая 2010 в 23:36

Да, но Panels могут делать еще больше. Вы можете прописывать Contexts, это как бы свои аргументы для каждого из участков какой нибудь страницы Panels или mini-panels