Каталог товаров на Drupal 7 и Views. Часть 1 - Первоначальные настройки.

image

14.04.12
Comments 10

Сегодняшний пост открывает новую серию уроков, которые будут полезны тем, кто начинает свои первые шаги в изучении CMS Drupal 7, они будут посвящены самому популярному модулю этой системы Views (с англ. представления). Возможно, вы слышали такое выражение “Кто не знаком с Views, тот не знаком с Drupal ”, лично я где то его слышал, по сути оно так и есть, потому что сам по себе Drupal не имеет достаточной гибкости по выводу контента, и сам я почувствовал все прелести этого движка только после того как мне довелось познакомиться с этим модулем.

Теперь давайте поговорим о том, что за зверь такой этот Views? Я и сам толком не могу дать описание этой штуке, конечно я мог бы скопипастить и перевести описание с drupal.org, но делать этого не стал, а решил что вы поймете для чего он нужен из этой статьи.

В данной серии уроков мы создадим небольшой и примитивный каталог товаров при помощи модуля Views, я не гарантирую что вы освоите его полностью, но первоначальные знания все же приобретете.

Для начала скачайте модуль Views а также Ctools, который предназначен для его работы. После того как модули скачаны установите их туда куда вы это делаете всегда и включите там где это положено. Надеюсь все четко объяснил, шучу конечно, но раз вы уже интересуетесь этим модулем, значит в какой то степени вы уже знакомы с Друпал.

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

1. Создание словаря таксономмии и нового типа материалов.

Давайте сначала создадим словарь с терминами таксономии. Для этого пройдите в раздел «Содержимое -> Таксономия», создайте словарь и назовите его Телефоны. Далее добавьте к нему несколько терминов, пусть это будут Samsung, Motorolla, Nokia, Siemens.

Теперь создадим тип материалов, и назовем его Каталог. После создания типа материала пройдите к управлению его полей.

Первым делом создадим поле для созданной нами таксономии:

  • Метка: Категория.
  • Field: category
  • Тип данных для хранения: Из раскрывающегося списка выберите пункт Ссылка на термин.
  • Элемент  для редактирования данных: Выбор из списка.

В настройках поля укажите словарь таксономии «Телефоны».

Создадим следующее поле для загрузки изображений.

  • Метка: Так и назовем ее «Изображение».
  • Имя поля:  Image (по умолчанию, в Друпал  уже имеется такое поле, так что вы можете не создавать его, а выбрать из списка уже имеющихся модулей чуть ниже.)
  • Тип данных для хранения:  Изображение
  • Элемент для редактирования данных:  Изображение.

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

Следующее поле «Цена».

  • Метка:  Цена
  • Имя поля: cena
  • Тип данных для хранения: Целое число
  • Элемент для редактирования данных: Текстовое поле

В дальнейших настройках поля в пункте суффикс укажите значение руб..

Views

Сохраните настройки.

Следующее поле «Тип» телефона.

  • Метка:  Тип
  • Имя поля: tip
  • Тип данных для хранения: Список (text)
  • Элемент для редактирования данных: Выбор из списка

В дальнейших настройках поля нам нужно будет создать список допустимых значений, я создал вот такие вот раздельчики, скопируйте и вставьте их в текстовую область Список допустимых значений.

1|Смартфон

2|Камуникатор

3|Мобильный

4|Планшет

Копируйте как есть с разделительной чертой, цифры будут являться ключом для хранения в базе данных, а текст подписью для вывода пользователю.

Views

Ну и последнее поле будет у нас «ПО» телефона

  • Метка:  ПО
  • Имя поля: po
  • Тип данных для хранения: Список (text)
  • Элемент для редактирования данных: Выбор из списка

В списке допустимых значений укажите следующие значения  по аналогии с полем Тип:

1|Android 4.0

2|Symbian OS

3|MS Windows

4|iOS 5

5|Без ПО

Пожалуй для тестового сайта полей будет достаточно. У меня получились такие вот поля:

Views

Теперь нам нужно наполнить наш каталог товарами. Добавьте к каждому термину словаря таксономии Телефоны по несколько материалов, не ленитесь, сделать это совсем не долго.

2. Приступаем к настройкам Views.

Ну вот, теперь наш сайт обзавелся контентом, а дальше все  самое интересное, начинаем работать с модулем Views.

Пройдите в раздел «Структура -> Представления». Нажмите на ссылку «Добавить новое предстaвление».

Произведем первичные настройки.

  • Имя: представления Телефоны
  • Показать: Содержимое
  • Тип: Каталог
  • Отсортировать: Новые сначала
  • Заголовок страницы: Телефоны
  • Путь: telefony
  • Формат: отображения Сетка из поля

Views

Нажмите на кнопку «Сохранить».

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

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

Комментарии

Александр 20.04.12

В настройках поля укажите словарь таксономии «Товары».Может не "Товары" а "Телефоны" ?

admin 20.04.12

Спасибо за подсказку, исправил. В целом как вам уроки по Виевс, доходчиво написано или нет?

Александр 21.04.12

В принципе да. По крайней мере мне лично, как человеку только начавшему знакомится с друпалом, эти ваши три урока действительно помагли )))

Иван 24.04.12

У вас все настройки "Представление" на русском. У меня же данный модуль на английском. Как можно исправить?

admin 24.04.12

Перевод модуля можно скачать с drupal.org. На моем блоге есть статья как переводить модули.

Игорь 25.04.12

При создании View и выборе "Содержимое" в выпадающем списке type нет варианта Каталог, только Статья и Страница.

Кстати, спасибо за статью. Не так много материала на русском по Drupal 7.

admin 26.04.12

Посмотрите внимательно создан ли у вас этот тип материала, все должно работать.

Marvin 30.06.12

Вероятно вы не создали тип материала, а редактировали уже существующий

yustnip 06.08.12

Очень классный урок, только у Вас доходчивые объяснения нашел. :) Спасибо!

Сергей 02.10.13

Считаю что это не совсем урок, а простенькое знакомство с выводом нодов через виевс.

А теперь толковый вопрос на который очень нужен подробный ответ:

Создаем в таксономии словарь "Каталог" и соответственно дерево терминов - разделы в каждом из них подраздел. К примеру раздел Телефоны и подразделы Самсунг, Нокиа, Ленова...
Создаём тип материала "Каталог" с указанием необходимых полей (фото, цена, артикул, описание...)
Выводим в меню дерево разделов.
Теперь добавляем несколько телефонов раскидывая их в нужные подразделы (подтермины)
Выглядит вроде как всё путём, заходим в нокиа, там все нокии, в самсунг, самсунги. Для каждого раздела описание в самом верху. НО в родительских разделах пусто, а по существу должны быть все телефоны из всех подразделов. И вот это меня терзает ((

И так вопрос!

Как осуществить (знаю, что через виев иначе вроде как невозможно) эту естественную функцию каталога?
Но так чтобы не изменить простой процесс добавление товаров ("Добавить содержимое->Каталог товаров"), то есть только через ноду.
Так, чтобы при добавлении новых разделов и подразделов в таксономии не приходилось бы создавать дополнительные для них представления в вие.
Так, чтобы заголовки разделов, которые указывал при создании термина оставались не заменёны одним на всех заголовком какого нибудь представления.
Так, чтобы осталась, как сейчас, возможность создать описание термина во всех разделах и их родителях!

Спасибо жду с нетерпением ответ!

Комментировать