Drupal7+Ubercart3=Интернет-магазин(часть 2)

Аватар пользователя userok


Создание интернет-магазина на CMS Drupal7 + модуль Ubercart3.

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

Часть вторая. Создание каталога товаров в Ubercart3.

Наконец-то мы мы подошли к главному для чего мы создавали интернет-магазин — это каталог товаров, которые можно будет купить в нашем интернет-магазине! Наиболее явным способом создания каталога товаров является создание меню, дублирующее структуру номенклатуры товаров и привязка товаров к пунктам этого меню. Однако такой подход нам кажется не совсем подходящим, поскольку в будущем нам несомненно понадобится более гибкий показ товаров посетителю интернет-магазина , сортировка по цене, наименованию, сравнение однотипных товаров между собой, вывод товаров в определённой последовательности и др. Для описанных целей лучше всего использовать модуль Views, который очень хорошо взаимодействует со встроенным модулем Таксономия. Поэтому мы не будем непосредственно создавать категории товаров в меню, а привяжем меню к словарю таксономии и будем создавать каталог товаров из Таксономии.

Как это работает? Мы создаем пустое меню, привязываем его к словарю таксономии. Создаем термины таксономии в соответствии с номенклатурой товаров, и необходимые пункты присоединённого меню появляются в этом меню автоматически. Далее мы создаём товары и каждому товару назначаем родительский пункт меню. Чтобы стало более понятно, мы сейчас сделаем это практически. Сейчас главная страница сайта выглядит следующим образом:

Рисунок 12.

Главная страница интернет-магазина

1) Включаем модуль «Таксономия» если он у Вас отключён. О том как устанавливать модули читайте в статье на нашем сайте Установка модулей Drupal 7.
Загружаем и устанавливаем модуль Taxonomy menu(http://drupal.org/project/taxonomy_menu). Включаем его. Этот модуль обеспечит автоматическое создание пунктов меню при создании терминов в соответствующем словаре Таксономии.
Включаем модуль Catalog. Этот модуль входит в поставку Ubercart. Он автоматически создаст словарь таксономии, «заточенный» под Ubercart.

2) Создаём пустое меню «Интернет-магазин» («Администрирование»->Структура->Меню->Добавить меню). На появившейся странице вводим название меню, как оно будет показываться посетителям сайта:

Рисунок 13.

Создание нового меню

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

Рисунок 14.

Создание нового меню

Выскакивает системное сообщение, говорящее о том, что кроме заголовка необходимо ввести уникальное название меню, которое можно было задать на предыдущей странице, нажав ссылку «Редактировать» напротив заголовка «Машинное имя». (Дальнейшая настройка показала, что это был глюк браузера Konqueror, в других браузерах подобного не наблюдалось, т. е. если у Вас это сообщение не высветилось значит всё в порядке:) Заполняем по-новой:

Рисунок 15.

Создание нового меню

Задаём машинное имя «Online-shop». Обратите внимание что машинное имя, если оно задано по умолчанию менять не надо, повторюсь: манипуляции на рис. 14 и 15 вызваны лишь глюком браузера. Нажимаем сохранить:

Рисунок 16.

Создание нового меню

На этот раз всё нормально. Нам сразу предлагают заполнить меню(добавить ссылку), однако мы не будем этого делать, т. к. решили воспользоваться таксономией.
Переведём название нашего меню на английский язык, для этого выберем закладку «Перевести»:

Рисунок 17.

Перевод меню Drupal 7


Здесь нажимаем ссылку «перевести» напротив английского языка:
Рисунок 18.

Перевод меню Drupal 7


Меняем заголовок с «Интернет-магазин» на «Online shop» и нажимаем «сохранить перевод»:
Рисунок 19.

Перевод меню Drupal 7


Переходим в «Администрирование»->Структура->Меню и видим в списке наше, только что созданное меню «Интернет-магазин»:
Рисунок 20.

Новое меню

3) Настраиваем расположение блоков меню «Интернет-магазин» и «Корзина» на странице нашего сайта. Для этого переходим в «Администрирование»->Структура->Блоки:

Рисунок 21.

Блоки Drupal 7

Внизу страницы, среди отключённых блоков находим наш блок «Интернет-магазин», он создается автоматически при создании меню. Располагаем его в нужном регионе(области), в нашем примере это Первая боковая панель для темы Bartik, и размещаем между блоками формы поиска и входа на сайт:

Рисунок 22.

Блоки Drupal 7


Поместим блок «Корзина» во вторую боковую панель:
Рисунок 23.

Блок корзина Ubercart


Нажимаем «Сохранить блоки» и видим, что на главной странице появился блок «Корзина»:
Рисунок 24.

Блок корзина Ubercart

4) Создадим каталог товаров, используя таксономию.
Предположим у нас есть две группы товаров для продажи: стиральные порошки и мыло, соответственно наш каталог должен выглядеть таким образом:

Стиральные порошки(группа)
--Обычный порошок(товар)
--Фирменный порошок(товар)
Мыло(группа)
--Мыло отечественное(группа)
----Мыло «Радуга»(товар)
--Мыло импортное(группа)
----Мыло «Пенное»(товар)

Для нашего примера этого будет достаточно.
Переходим в Администрирование->Структура->Таксономия:

Рисунок 25.

Создаём новый словарь таксономии


На странице «Таксономия» мы видим в списке словарь «Каталог», появившийся здесь после установки модуля Catalog. Нажимаем «изменить словарь» Каталог:
Рисунок 26.

Создаём новый словарь таксономии

Называем словарь «Интернет-магазин» так-же как ранее назвали меню чтобы не было путаницы, хотя имя можно задавать любое, а можно оставить по умолчанию- catalog. Для мультиязычного сайта в «Настройках многоязычности» выбираем «Переводится. Различные термины будут доступны для каждого языка, и они могут быть переведены». В блоке «Меню таксономии» в раскрывающемся списке «Расположение меню» ищем и выбираем созданное нами ранее меню «Интернет-магазин», остальные настройки не трогаем. Нажимаем «Сохранить и перевести» или просто «Сохранить», если у Вас один язык на сайте:

Рисунок 27.

Создаём новый словарь таксономии


Рисунок 28.

Создаём новый словарь таксономии


Переводим наименование словаря на английский(для мультиязычного сайта):
Рисунок 29.

Создаём новый словарь таксономии


Рисунок 30.

Создаём новый словарь таксономии


Словарь отредактирован и переведён. Теперь добавляем термины, являющиеся группами товаров нашего магазина.
Переходим на закладку «Список» (Администрирование->Структура->Таксономия->Интернет-магазин->Список терминов):
Рисунок 31.

Создаём новый словарь таксономии


Добавляем термины «Стиральные порошки» и «Мыло», если у нас многоязычный сайт, выбираем основной язык:
Рисунок 32.

Создаём новый словарь таксономии

Т.к. «Мыло» и «Стиральные порошки» являются группами верхнего уровня, то в блоке «Отношения» мы не меняем Родительские термины. Указываем лишь вес. Чем меньше вес тем выше в списке будет отображаться данная группа. Практического значения введённые цифры не имеют, т. к. в дальнейшем не составит труда перетащить термины на нужные места мышкой. Это альтернатива упорядочиванию в алфавитном порядке по наименованию.
Нажимаем «Сохранить и перевести».

Рисунок 33.

Создаём новый словарь таксономии


Переводим термин на английский:
Рисунок 34.

Создаём новый словарь таксономии


Сохраняем перевод:
Рисунок 35.

Создаём новый словарь таксономии


Также создаём и переводим термин «Мыло», в итоге на странице Администрирование->Структура->Таксономия->Интернет-магазин->Список ссылок мы должны увидеть следующую картинку:
Рисунок 36.

Создаём новый словарь таксономии

Обратите внимание, что мы создали всего два термина, но в списке четыре строки; две дополнительные строки это переводы терминов на английский.
Теперь добавим две подгруппы «Мыло отечественное» и «Мыло импортное» в группу «Мыло». Нажимаем «Добавить термин» и заполняем поля:

Рисунок 37.

Создаём новый словарь таксономии

Подчинённость настраивается в блоке «Отношения», в качестве родителя для подгруппы выбираем созданную ранее группу «Мыло». Для мультиязычного сайта обращаем внимание на язык: если подгруппе задан русский язык, то и родителя необходимо задавать тоже на русском языке. В нашем случае «Мыло» а не «Soap». Сохраняем и переводим, если необходимо:

Рисунок 38.

Создаём новый словарь таксономии


Не забываем назначить англоязычного родителя для переведённого на английский термина:
Рисунок 39.

Создаём новый словарь таксономии

Сохраняем термин. Создаем ещё одну подгруппу «Мыло импортное» по такому-же алгоритму. В итоге мы должны увидеть следующую картинку в меню Администрирование->Структура->Таксономия->Интернет-Магазин->Список ссылок:

Рисунок 40.

Создаём новый словарь таксономии

Здесь можно с помощью перетаскивания изменить сортировку терминов и их иерархию. Располагаем термины в той последовательности в какой мы хотим их видеть, сохраняем изменения и переходим на главную страницу сайта:

Рисунок 41.

Главная страница интернет-магазина


Для мультиязычного сайта переключаем язык:
Рисунок 42.

Главная страница интернет-магазина

Мы создали каталог товаров в Drupal7 с использованием модуля Ubercart3. Следующим шагом будет добавление товаров в наш каталог. Пожалуйста, оставайтесь с нами.

Скачать статью Drupal7 + Ubercart3 = Интернет-магазин (часть 2) в формате PDF.

См. также: Создание мультиязычного сайта на Drupal7
См. также: Drupal7 + Ubercart3 = Интернет-магазин (часть 1)
См. также: Drupal7+Ubercart3=Интернет-магазин(часть 3)

Эта статья опубликована под Creative Commons Attribution ShareAlike лицензией.

Сергей (не проверено)
<p>&nbsp;подскажите пожалуйста каким образом связаны таксономия и меню "интернет-магазин"?</p><p>&nbsp;</p><p>у меня проблема в том, что несмотря на то, что я поместил меню в нужный блок(левая колонка), каталог всё равно не отображается</p><p>&nbsp;</p><p>в то же время если я создаю обычные пункты в меню, то каталог виден. вернее видны эти пункты меня, а товары по прежнему не видны</p>
GrandVitara
Аватар пользователя GrandVitara
Опишите подробней, но могу предположить что в словаре таксономиии Вы не указываете привязку к меню.
Sergey (не проверено)
<p>Приветствую, у меня похожая ситуация, каталог не отоброжается( подскажите, как указать привязку к меню. Спасибо</p>
GrandVitara
Аватар пользователя GrandVitara
HI Изначально необходимо установить модуль "Taxonomy menu" 1. По адресу: #overlay=admin/structure/taxonomy/catalog/edit раздел "Меню таксономии" - поле "Расположение меню" необходимо выбрать меню. 2. По адресу: #overlay=admin/structure/taxonomy/catalog/edit раздел "Меню таксономии" - подраздел "Параметры" - поле "Пересоздать меню по нажатию кнопки сохранить. (Rebuild the menu on submit.)" поставить галочку и нажать "сохранить". 3. По адресу: overlay=admin/store/settings/catalog в поле "Словарь каталога" необходимо выбрать словарь. 4. По адресу: #overlay=admin/structure/views/view/taxonomy_term/edit настроить это "VIEW" (если необходимо расказать о параметрах, настройке, напишите...). 5. Если у Вас в меню уже есть товары, то в поле "Catalog" необходимо выбрать нужный раздел каталога, если меню у Вас ещё пустое, то при создании содержимого в поле "Catalog" необходимо выбрать нужный раздел каталога. Будут вопросы пишите, постараюсь ответить...
Екатерина (не проверено)
<p>&nbsp;Доброго дня! Та же печаль - не выводится меню, созданное через таксономию. Проверила все, что Вы написаль выше, все нормально, за исключением 4 пункта. Будьте добры, подскажите настройки.</p>
Екатерина (не проверено)
<p>&nbsp;Все, разобралась! Все нормально работает, нужно только внимательнее быть)</p>
userok
Аватар пользователя userok
Отлично! Однако ваш предыдущий комментарий сподвиг меня на то чтобы заново установить Ubercart на тестовый сайт. Сделал всё точно по статье всё заработало без проблем. Однако сделаю несколько предположений, почему меню может не отображаться: 1) Не установлен (или не включён) модуль Taxonomy menu. Без него не будет привязки меню к таксономии! 2) Не задан регион (область) для блока меню "Интернет-магазин" 3) Не задано ни одного термина в словаре таксономии "Интернет-магазин" (catalog по умолчанию) т.к. пустые меню не отображаются. Если всё сделано верно, то добавив термины таксономии по адресу: Администрирование->Структура->Таксономия->Интернет-магазин->Список терминов мы должны увидеть соответствующие добавленным терминам таксономии ссылки меню по адресу: Администрирование->Структура->Меню->Интернет-магазин->Список ссылок

Добавить комментарий