Всем привет!
Делаю сейчас сайт, на котором будет представлен каталог из нескольких сотен категорий товаров(электротехническая продукция).
Каталог решил реализовать с помощью таксономии и представлений(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.
Буду благодарен за любую помощь!
Комментарии
Может и есть, но я не встречал. Сам бы решал задачу с помошью сниппета с использованием taxonomy_get_tree и формированием ссылок с темином в конце, дабы его затем использовать как аргумент views, повозиться конечно придется не кисло.
Если товары из разных категорий выводятся одинаково (сеткой, таблицей или как-то еще), то представление потребуется одно.
Аргументом у него будет ID термина таксономии (категории каталога), соответственно - в представлении будут выводиться все ноды-продукция, привязанные к этому термину (=категории каталога)
Использовать в представлении аргумент "ID термина с глубиной", указав в настройках эту глубину.
В этом случае будут выводиться ноды не только с текущим термином таксономии, но и с дочерними. Глубина как раз позволит указать, насколько подкатегорий вглубь надо выводить ноды.
В списке полей можно добавить термин таксономии, исключив его из вывода, и сгруппировать вывод поэтому полю.
Получится вывод всех нод-продукции из подкатегорий данной ктегории, сгруппированый по терминам (=подкатегориям)
По идее, так и должно получиться.
Т.е. не надо создавать представления для каждого термина таксономии, их надо создавать для каждого уровня вложенности этих терминов, плюс отдельные представления для категорий, которые должны выводиться иначе, чем остальные.
Спасибо! Многое прояснилось. С помощью Views и Pathauto всё получается ) Но возник новый подводный камень с отображением страницы словаря:
Словарь называется "Кабель", термины:
-LAN
--категория 1
--категория 2
-- ...
С помощью PathAuto формируется следующий алиас: site.ru/kabel/lan/category-1/title1
И вот тут всё бы ничего, если бы не адрес site.ru/kabel/, странички которого не существует. Все остальные я создал по Вашей схеме и они отлично формируются на основе терминов таксаномии.
Первое что пришло в голову - создать представление для страницы /kabel - но в таком случае выводится просто список терминов в словаре, просто списком без иерархии.
Добавлять в сам словарь родительскую категорию "кабель" и формировать вывод по типу термина словаря тоже мне кажется не очень удачный не вариант.
Подскажите пожалуйста - Можно ли как-то с помощью представления формировать и выводить древовидную(иерархическую) структуру словаря?
Нашел решение, может кому еще понадобиться: http://drupalcookbook.ru/recept/spisok-terminov-opredelennogo-slovarja-s...
Посмотри как я сделал у себя Справочник организаций с помощью модуля Vocabulary Index
(Адрес сайта в моем профиле)
Спасибо! Тоже интересный вариант.