Drupal → Вернуть в Drupal 7 возможность выборки по нескольким терминам

18.07.2011

Из Drupal 7 была удалена возможность выборки по нескольким терминам таксономии. Теперь рекомендуется использовать Views и модуль Multi-term Views:

  1. Включаем дефолтное представление Taxonomy term.
  2. Открываем форму редактирования представления.
  3. Раскрываем блок Advanced.
  4. В блоке Contextual filters кликаем по фильтру Content: Has taxonomy term ID (with depth) (скриншот).
  5. Прокручиваем форму вниз до поля Filter value type.
  6. Выбираем в этом поле значение Term IDs separated by , or + (скриншот).
  7. Сохраняем фильтр и представление.

Добавлено 30/08/2011:

Оказывается, если использовать фильтр Content: Has taxonomy term ID вместо Content: Has taxonomy term ID (with depth), то можно делать выборку по нескольким терминам и без этого модуля, достаточно отметить опцию Allow multiple values в настройках фильтра:

Настройки контекстного фильтра Content: Has taxonomy term ID

Написанное актуально для
Drupal 7
Похожие записи

Комментарии

Гость
01.10.2011, 11:03

А как сделать следующее:
имеется тип материала "статья о болезни".и есть 2 словаря.
1-раздел болезни,например:воспалительные,онкологические,кожные и т.д.
2-тип статьи,например:содержание и уход,симптомы,способы лечения.

у нужно следующее. открыть страницу по разделу болезни-не проблема,это страница термина таксономии.По типу-тоже самое.
А нужно открыть например статьи из раздела "онкология" и типа "содержание и уход".
тоесть фильтровка по двум словарям.
Как это реализовать?на вьюсе?под семерку.

фильтр по первому словарю, фильтр по второму словарю

Гость
01.10.2011, 13:57

Решил эту проблему написанием собственного модуля!

Это все замечательно! Но... какие возможности существуют подобного вывода через алиасы, например: "/slovari/termin"

возможности все те же, что и без алиасов

Тут гость у вас интересную вещь в начале спрашивал, но мне нужно сделать чуть по другому.
Есть несколько словарей таксономии, например:

Температура: Горячее, теплое, холодное.
Состояние: Твердое, мягкое.
Вкус: Вкусное, невкусное, отрава.

Нужно настроить вывод материалов с фильтрами по этим словарям, чтобы показывать только "Теплое и Мягкое" или "Холодное и Вкусное"
В идеале сделать это несколькими листбоксами, чтобы динамически фильтровало. А если еще и можно настроить, чтоб показывало, при уже выбранном "Теплое и Мягкое" сколько остается нод в каждой из категорий "Вкусное, невкусное, отрава."

Valeratal
20.08.2012, 11:05

А как вывести страницу (page) или блок, в котом бы отображались ноды, у которых есть хотя бы 1 из терминов текущей ноды

Точнее, есть у меня блок, показывает "похожие" публикации. Правда "похожесть" работает только для 1-ного словаря, как сделать для нескольких - не понял

И еще хочется сделать страницу, где показывать те же похожие, только вообще все, похожие, то есть
Все ноды (обычный тизерный вывод) - taxonomy/term1+term2+termn
Из терминов, той ноды, у которой и отображался блок с похожими публикациями

Владимир
23.12.2012, 19:48

Можно такое же сделать для Критерии фильтрации(Filter criteria).
При выборе фильтра у которого разрешен множественный выбор. Ему показываются только те ноды в которых есть оба этих значения.
Можно сделать так что бы отображались все ноды в которых есть хотя бы один из параметров.

Владимир
24.12.2012, 17:24

Для таких как я. Оператор надо выставить в значение "Один из"

Гость
20.04.2013, 01:16

Спасибо большое. Никак не мог понять почему с , аргументы не работают. Решен вопрос дня :)

если использовать фильтр Content: Has taxonomy term ID вместо Content: Has taxonomy term ID (with depth),

Т.е. термин "с глубиной" и множественный выбор (через +|,) совместно не работают?

я сейчас смотрю последнюю версию Views, и там опцию Allow multiple values появилась и у фильтра с глубиной, так что статью наверно можно считать уже не актуальной.

Единственное замечание — у фильтра с глубиной выходит очень сложный запрос с подзапросом, что может негативно сказаться на времени его выполнения, поэтому по возможности лучше использовать фильтр без глубины

Спасибо, перепроверил.

и там опцию Allow multiple values появилась и у фильтра с глубиной,

Опция действительно есть, но с первого раза она у меня не сработала.. Было подозрение, что причина в:

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

Оказалось - в кривых руках. Всё работает - статью можно дополнить..

Как правильнее в полученный результат добавить редактор для:
- Title (который Meta) - смотрел в сторону simplemeta
- Title, который H1 (при переопределении во views получается term1, term2..)
- текст под результатом (можно, конечно, отдельную таблицу завести для текстов, h1 и title /по URI или по path/ и в теме(?) к ней обращаться, но почти уверен, что есть готовый вариант)

И попутно, есть ли "простой" (коробочный) способ добавить блок "Уточнить" (пересечение "тэгов") на странице term-а, как, например здесь: http://rmcreative.ru/blog/tag/API ?

Присоединяюсь к вопросу:

И попутно, есть ли "простой" (коробочный) способ добавить блок "Уточнить" (пересечение "тэгов") на странице term-а, как, например здесь: http://rmcreative.ru/blog/tag/API ?

И хочу уточнить как реализован похожий блок в вашем блоге? Например, на этой странице: http://xandeadx.ru/blog/tags/views (Уточнить: и т.д. ...)

А эта штука до сих пор работает? Что-т делаю все без модуля как в дополнении от 30/08/2011 - и выдает 404 постоянно ((

Добавить комментарий