Drupal Commerce. Страница товара с помощью Views

14 марта 2016

Views – это мощный и гибкий модуль, с помощью которого можно настраивать вывод данных на сайте. Конечно, он не всемогущ, но то, что он умеет вполне хватает для того, чтобы оформлять вывод данных так, как необходимо. В данной заметке, описывается такая задача: необходимо создать страницу товара с помощью Views. Нужно это для того, чтобы более гибко настроить вывод данных о товаре. Для простеньких Интернет-магазином можно обойтись и перемещением элементов в настройках полей, но когда предстоит оформить страницу товара со сложным дизайном, этого может не хватить.

На самом деле решений этой задачи может быть несколько. Можно, например, темизировать вывод страницы с товаром, подключив определенный views в шаблоне. Но для этого требуется больше “писанины” и времени. Мы пойдем по более легкому пути, с помощью модуля под названием Viewfield. C помощью этого модуля можно подключить Views к определенному типу материала, просто, как создать дополнительное поле. Итак, ставим и включаем модуль. Идем в УПРАВЛЕНИЕ ПОЛЯМИ нашего типа материала, к которому необходимо подгрузить Views и создаем новое поле, выбрав в качестве типа – Представление.

 

В настройках поля под заголовком “Allowed values” выбираем необходимый нам Views, который нужно вывести на страницу с товаром, в блоке “Значение по умолчанию” выбираем тот же Views и не забываем поставить галочку напротив пункта “Always use default value”. Кажется, все! Мы подключили views к странице товара. Но как правильно создать сам Views, чтобы все выводилось так как нам нужно? Давайте разберемся!

Создаем новое представление и на первом этапе выставляем следующие настройки:

Теперь самые основные настройки по подзаголовкам настроек Views.

Отношения – “Содержимое: Referenced product” и “Commerce Товар: Материал referencing products from field_product” (у вас может быть другое, вместо field_product). И в том, и в другом случае нужно указать, что связь является обязательной.

Контекстные фильтры – “Содержимое: Nid“. Настройки, как на скриншоте:

Навигатор – нужно чтобы было “Отображать указанное количество элементов | 1 элемент”

Прочие – Настройки запроса – Выключить перезапись (rewriting) SQL.

Поля – настраивайте по своему усмотрению.

Вот и всё!