Построение структуры каталога на Drupal (taxonomy + views)

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

Аватар пользователя Serega_od Serega_od 7 августа 2011 в 0:08

Всем привет!
Делаю сейчас сайт, на котором будет представлен каталог из нескольких сотен категорий товаров(электротехническая продукция).
Каталог решил реализовать с помощью таксономии и представлений(views).
Но, набросав на листке бумаги приблизительную структуру каталога понял что для каждой категории товара необходимо будет создавать свой views.

Приблизительно древовидная структура выглядит так:

Категория 1 (кабель)
- под. категория 1(оптика)
- п.к. 2 (медь)
- п.к. 3 (электрокабель)
- ...
- п.к. 10 (LAN)
- п.к. 10.1 (LAN - внешний)
- п.к. 10.1.1 (с тросом)
- п.к. 10.1.2 (без троса)
- п.к. 10.2 (LAN - внутренний)
- п.к. 10.2.1 (вид 1)
- п.к. 10.2.2 (вид 2)
- п.к. 10.2.3 (вид 3)
и т.д.

Сразу возникло пару вопросов:
1) Для каждой конечной категории в которой присутствует товар необходимо создавать views (фильтр - опубликовано и термин таксономии = необх.категории). Но категории реально будет очень много. Подскажите пожалуйста может есть какая-то автоматизация этого процесса?

2) Как формировать страницу с подкатегориями товара. Например страницу LAN, на которой, в данном случае должны отобразиться ссылки на 2 подкатегории (внешний LAN и внутренний)? Опять же создавать их вручную или с помощью vies, где указывать какие термины таксономии отображать очень долго.

3) В идеале хотелось бы такую автоматизацию: Если клиент сам зайдет в админку и добавит в таксономию термин LAN-универсальный. То эта категория автоматом появиться на страничке подкатегорий вместе с внешним и внутренним LAN.

Буду благодарен за любую помощь!

Комментарии

Аватар пользователя staryi staryi 7 августа 2011 в 13:10

Может и есть, но я не встречал. Сам бы решал задачу с помошью сниппета с использованием taxonomy_get_tree и формированием ссылок с темином в конце, дабы его затем использовать как аргумент views, повозиться конечно придется не кисло.

Аватар пользователя Andruxa Andruxa 7 августа 2011 в 14:03

"Serega_od" wrote:
1) Для каждой конечной категории в которой присутствует товар необходимо создавать views

Если товары из разных категорий выводятся одинаково (сеткой, таблицей или как-то еще), то представление потребуется одно.
Аргументом у него будет ID термина таксономии (категории каталога), соответственно - в представлении будут выводиться все ноды-продукция, привязанные к этому термину (=категории каталога)
"Serega_od" wrote:
2) Как формировать страницу с подкатегориями товара.

Использовать в представлении аргумент "ID термина с глубиной", указав в настройках эту глубину.
В этом случае будут выводиться ноды не только с текущим термином таксономии, но и с дочерними. Глубина как раз позволит указать, насколько подкатегорий вглубь надо выводить ноды.
В списке полей можно добавить термин таксономии, исключив его из вывода, и сгруппировать вывод поэтому полю.
Получится вывод всех нод-продукции из подкатегорий данной ктегории, сгруппированый по терминам (=подкатегориям)
"Serega_od" wrote:
3) В идеале хотелось бы такую автоматизацию: Если клиент сам зайдет в админку и добавит в таксономию термин LAN-универсальный. То эта категория автоматом появиться на страничке подкатегорий вместе с внешним и внутренним LAN.

По идее, так и должно получиться.

Т.е. не надо создавать представления для каждого термина таксономии, их надо создавать для каждого уровня вложенности этих терминов, плюс отдельные представления для категорий, которые должны выводиться иначе, чем остальные.

Аватар пользователя Serega_od Serega_od 13 августа 2011 в 23:14

"Andruxa" wrote:
Andruxa

Спасибо! Многое прояснилось. С помощью Views и Pathauto всё получается ) Но возник новый подводный камень с отображением страницы словаря:
Словарь называется "Кабель", термины:
-LAN
--категория 1
--категория 2
-- ...

С помощью PathAuto формируется следующий алиас: site.ru/kabel/lan/category-1/title1

И вот тут всё бы ничего, если бы не адрес site.ru/kabel/, странички которого не существует. Все остальные я создал по Вашей схеме и они отлично формируются на основе терминов таксаномии.

Первое что пришло в голову - создать представление для страницы /kabel - но в таком случае выводится просто список терминов в словаре, просто списком без иерархии.
Добавлять в сам словарь родительскую категорию "кабель" и формировать вывод по типу термина словаря тоже мне кажется не очень удачный не вариант.
Подскажите пожалуйста - Можно ли как-то с помощью представления формировать и выводить древовидную(иерархическую) структуру словаря?

Аватар пользователя Serega_od Serega_od 17 августа 2011 в 22:07

"Serega_od" wrote:
Подскажите пожалуйста - Можно ли как-то с помощью представления формировать и выводить древовидную(иерархическую) структуру словаря?

Нашел решение, может кому еще понадобиться: http://drupalcookbook.ru/recept/spisok-terminov-opredelennogo-slovarja-s...

Аватар пользователя Serega_od Serega_od 18 августа 2011 в 9:05

"Дед Пихто" wrote:
Посмотри как я сделал у себя Справочник организаций с помощью модуля Vocabulary Index
(Адрес сайта в моем профиле)

Спасибо! Тоже интересный вариант.