Дано
1) Два словаря "Категории" и "Производители"
Категории:
- Пневматика
-- Винтовки
-- Пистолеты
-- Оптические прицелы
-- Пульки
- Травматика
...
Производители:
- Ижевская пневматика
- Crosman
- Gamo
- Hatsan
...
2) Каждой статье на сайте присвоен один термин из словаря Категории и один термин из словаря Производители.
Примеры:
а) Пневматическая винтовка МР-512 (Винтовки, Ижевская пневматика)
б) Пневматическая винтовка Gamo Hunter 1250 (Винтовкм, Gamo)
в) Пневматическая винтовка Gamo Shadow 1000 (Винтовки, Gamo)
г) Пневматический пистолет МР-654 (Пистолеты, Ижевская пневматика)
д) Пневматический пистолет МР-651 (Пистолеты, Ижевская пневматика)
е) Пневматический пистолет Gamo PR-45 (Пистолеты, Gamo)
Требуется
Сделать следующий вид страницы термина таксономии словаря Категории: http://www.orugie.org.ru/pnevm/rifles/ - и соответственно для пистолетов: http://www.orugie.org.ru/pnevm/pistols/
Т.е. сначала выводится описание термина, а далее группы статей, относящиеся к определенному производителю. Естественно в винтовках не должны отображаться пистолеты и наоборот)
Понятное дело, что понадобятся Views, но даже не представляю с какой стороны к этому подойти) Если кто знает где можно почитать об этом - кидайте ссылки, буду очень благодарен.
Комментарии
Вывод по полям. Добавить нужные. Затем установить аргументы по категории (для примера) товара. Это views естественно.
Вам надо вывести описание термина таксономии в вверхушку views?
http://flowtea.ru/shen-puer - про это объяснять? Или что-то другое надо?
Спасибо за ответы.
По большому счету надо сделать в точности как на страницах, которые я указал. т.е. Надо чтобы на странице термина таксономии словаря Категории сначала было описание этого термина а потом шли материалы, разбитые на группы в соответствии со словарем Производители.
http://flowtea.ru/shen-puer - тут вроде все понятно, вывод таблицей и тп.
Даёшь лигалайз короткосвола!Представление - страница по адресу /taxonomy/term/% соответственно % - контекстный фильтр ID термина
Сразу возникает неудобство - по этому пути представление будет обрабатывать термины из всех словарей, вряд ли это нужно.
Ок, пока забыли про словари, делаем представление: выбираем ноды (вероятно - определенного типа), поскольку включен контекстный фильтр по id термина, в представление попадут те из них, которые привязаны к этому термину.
Стиль представления - поля, указываем те, которые нужны - заголовок с ссылкой на материал, возможно - изображение из поля image с необходимым размером, задаваемым пресетом, а также термин таксономии из второго словаря (бренды), его исключаем из вывода и группируем вывод по нему.
Возможно, в типе материала придется сделать 2 поля с ссылкой на теремины - одно для словаря каталог, второе - для словаря бренды, тогда сгруппировать по брендам получится без проблем.
Практически профит.
Как вывести описание термина, и что делать с перекрытием системного пути /taxonomy/term/% ?
Я бы сделал панелями.
Во-первых, можно ограничить случаи, в которых будет выводиться панель - например, если термин, id которого передается по ссылке, принадлежит словарю Каталог. А для терминов словаря Бренды - сделать отдельный вывод.
Во-вторых, описание термина можно банально вставить перед представлением, труд == 0
Andruxa, спасибо большое. Попробовал последовать вашему совету, но возникли кое-какие проблемы (с заголовками страниц терминов и с описанием терминов). С панелями решил не связываться пока что..
Нашел зато интересное видео в котором говорилось про модуль taxonomy display. Модуль позволяет изменить вывод материалов на страницах терминов и при этом не затрагивает заголовков и описаний.
Естественно настроил представление:
Формат
Формат: HTML список
Показать: Поля
Поля
Содержимое: Заголовок
Содержимое: Производители
Критерии фильтрации
Содержимое: Опубликовано (Да)
Критерий сортировки
Содержимое: Группа статей (возр.)
Содержимое: Заголовок (возр.)
Контекстные фильтры
Содержимое: Имеет идентификатор термина таксономии
Теперь картина примерно такая:
Почти то что надо, но требуется еще разбить список на отдельные группы, относящиеся к одному производителю, т.е.:
надо группировать по терминам таксономии из словаря производителей (я назвал его ранее - бренды)
в настройках представления: формат -> настройки
Все, разобрался, спасибо. Сразу просто не нашел где группировку включить можно (с views я на вы). А можно как-то настроить формат заголовков групп материалов? Там по умолчанию стоит заголовок h3, а хотелось бы h2.
в настройках поля можно выбрать контейнер и классы для него
Зашел в настройки поля Содержимое: Производители, там вкладка настройки стиля. Пробовал везде ставить галочки и выбирать обертку в тег h2, но h3 все равно не меняется. И понятно почему - заголовок группы настраивается в другом месте. Провел эксперимент: отменил скрытие поля. Результат: под заголовком каждого материала появился производитель в теге h2, ну и естественно все это было сгруппировано под заголовком h3. Вывод: заголовок группы настраивается в другом месте. Вопрос - где?
формат -> показать -> настройки, чекбокс "Предоставлять элементы обертки полей по умолчанию", если не поможет, то переопределить темплейт:
Дополнительно -> прочие -> Тема оформления: Информация, там видны все темплейты, используемые представлением
Нужно скопировать требуемый (скорее всего - Стиль вывода: ) в папку своей темы и там поправить его, заменив
<h3>
на<h2>
, после чего пересканировать темплейты в настройках представленияh3 прописан в views-view-list.tpl.php
Спасибо еще раз.
чтобы в других представлениях не использовался переопределённый шаблон, можно его переименовать в какой-нибудь views-view-list--view-name.tpl.php, там в списке темплейтов перечислены подходящие варианты