Создание каталога товаров Ubercart в Drupal 6

посмотреть

Создание каталога товаров в Drupal, на первый взгляд, и трудности никакой не представляет. Ведь есть стандартный модуль поставляемый с Ubercart. В принципе он очень даже не плох! Может выводить товары в сетке и в таблице. Этот же модуль создает навигацию каталога с возможностью подсчета кол-ва товаров в категории. Трудности появляются лишь при попытках внести изменения в каталог. Придется лезть в template файлы, разбираться с устройством модуля. Зачем все это, когда с самого начала можно выбрать гибкий путь?!

В качестве альтернативы стандартного модуля каталога ubercart можно использовать представления на основе модуля Views. Представления очень хорошо подходят для создания каталога продукции в интернет-магазине при использовании ubercart или других e-commerce модулей drupal. Views позволяет создать куда более гибкий каталог, чем модуль Catalog из стандартной комплектации Ubercart. Вы сами выберете необходимые данные и способ отображения для них. Кроме этого можно использовать exposed фильтры для создания формы поиска по каталогу.

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

  • основной раздел каталога
  • разделы каталога для категорий товаров
  • блок навигации по каталогу
  • форма поиска по каталогу

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

Для создания отдельных разделов для категорий товаров нужно включить представление замещающее стандартное отображение материалов в категориях. Найдите это представление в admin/build/views и настройте его отображение, как и основной раздел каталога. Не забудьте дать настроить подходящие автосинонимы для категорий, чтобы они как-то соотносились с основным разделом.

Для создания блока навигации по каталогу можно использовать модуль Vocabulary Index.

Создание формы поиска по каталогу описано здесь. В основном представлении каталога включите опцию "Exposed filter in block", и настройте отображение блока поиска так, чтобы он появлялся и в разделах с категориями товаров.

Единственный минус использования представлений для отображения товаров в категориях в том, что это представление будет применяться для всех типов материалов. Но и это исправимо. Можно клонировать представление и, используя модуль Taxonomy Views Integrator (tvi), выбрать представление, отвечающее за отдельный словарь!

Кроме этого в SEO целях (да и не только), желательно выводить описание категории на странице представления. В представлении товаров по категориям, точнее в настройках аргумента termid можно включить опцию замены заголовка страницы названием категории, но об описании категории ничего не сказано. Логичным будет вытащить это описание в свойство header представления:

  • включите модуль PHP  Filter, чтобы можно было вводить и выполнять php-код на страницах. Непременно включите разрешение на использование этого фильтра, если работаете не под пользователем с id 1.
  • отредактируйте header представления категорий (taxonomy) каталога товаров следующим образом:

    <?php
    $view = views_get_current_view();
    if (is_numeric($view->args[0])){
      $term = taxonomy_get_term($view->args[0]);
      return $term->description;
    }
    ?>
    здесь извлекается описание термина словаря, переданного в качестве аргумента представлению и все это выводится в заголовок.

Для навигации по каталогу лучше использовать ajax, чтобы текст на вторых и далее страницах не надумал индексироваться, кроме этого можно включить опцию noindex nofollow в модуле nodewords для страниц с постраничным просмотром.

Последняя остающаяся трудность: настройка мета-тэгов для разделов категорий. Ключевые слова для раздела категорий в каталоге товаров drupal беруться из названия и описания термина, что не всегда хорошо. Пока не нашел возможности указать их отдельно.

Надеюсь материал будет полезен!

вернуться назад