Часть 06. Настраиваемые поля (custom fields). Виды полей.
Интернет-магазин в общем понимании является не чем иным, как каталогом товаров. Да, у него есть возможность оформлять заказы через корзину, принимать деньги, указывать, куда и как требуется доставить товар, но первична все-таки витрина, представление товаров потенциальным покупателям. В этой статье я расскажу про очень важную часть Virtuemart 2 – настраиваемые поля. С их помощью каталог товаров можно сделать максимально разнообразным. Создать различные фильтры и свойства товаров, создать дочерние товары и просто внести дополнительные данные о товаре в форме анкеты. Работы с настраиваемыми полями Virtuemart 2 достаточно сложна, но для многих интернет-магазинов такие поля просто необходимы. В этой статье я расскажу о типах, назначении и возможностях настраиваемых полей Virtuemart 2.
Настраиваемые поля Virtuemart 2. Виды полей.
Прежде всего, нужно понять, что настраиваемые поля бывают нескольких видов. Эти виды используются для совершенно разных задач и нужно четко разделять их между собой. Вот они:
- Настраиваемые поля без контроля остатка, являющиеся атрибутом корзины (аналог свойств товара из Virtuemart 1.1.x);
- Настраиваемые поля без контроля остатка, не являющиеся атрибутом корзины (аналог типов товара из Virtuemart 1.1.x);
- Настраиваемые поля с контролем остатка (аналог дочерних товаров из Virtuemart 1.1.x);
- Настраиваемые поля, заполняемые пользователями (Не путайте с полями, заполняемыми пользователями при оформлении заказа! Это совсем другое.);
Вообще, хочу сказать, что вся эта терминология очень запутанная. Если в Virtuemart 1.1.x, в свойствах, параметрах, типах, дочерних товарах было очень сложно разобраться, то в Virtuemart 2 легче не стало, пожалуй, даже наоборот…
Чтобы лучше разобраться с видами настраиваемых полей, опишу каждый из них отдельно.
Настраиваемые поля Virtuemart 2. Настраиваемые поля без контроля остатка, являющиеся атрибутом корзины.
Данный вид полей позволяет добавлять товарам различные платные свойства, или, наоборот, делать скидку на цвет, размер, и.т.д. Как это работает? Представьте, что вы продаете телефон «Звонилла 3000». Он имеется у вас в разных цветах, при этом стоимость телефона любого цвета при закупке для вас одинакова. Остатки по цветам вы также не контролируете, поскольку в этом нет надобности. Всего имеется 5 цветов телефонов: белый, черный, синий, зеленый, фиолетовый. «Звонилла 3000» пользуется популярностью, и вы знаете, что телефоны белого и черного цвета у вас разберут быстро. Синий – цвет нейтральный. Спрос на него обычный. А зеленый и фиолетовый – плохие цвета для телефона. Телефоны таких цветов покупают мало.
Вам нужно продать телефоны всех цветов за примерно одинаковое время. Как же быть? Вам в голову пришла маленькая хитрость: почему бы не продавать популярные цвета на 500 рублей дороже, а непопулярные на 500 рублей дешевле? В итоге получится, что все цвета проданы за одинаковое время и по одинаковой стоимости. Остается это реализовать.
Для реализации такой задумки как раз подойдут поля такого вида. Остаток контролировать не нужно, но нужно предоставить покупателю возможность выбрать цвет и в зависимости от цвета немного изменить цену. После добавления в корзину покупатель должен видеть, телефон какого цвета он заказал.
Для реализации задумки создадим новое текстовое поле «Цвет», для которого выставим настройки, как показано на рисунке:
После этого добавляем новый товар «Звонилла 3000» и в последней вкладке выбираем наше созданное поле. Выбрать придется столько раз, сколько свойств у нас имеется, т.е. 5(можно делать это один раз, сгруппировав поля, но об этом позже):
После этого сохраняем товар и смотрим, как он выглядит на сайте:
Выбираем свойство, добавляем товар в корзину и смотрим, как она выглядит:
Как видно, наш товар в корзине и для него указано свойство «Цвет».
Аналогично можно создавать многие другие свойства, ограничить здесь вас может только ваша фантазия.
Настраиваемые поля Virtuemart 2. Настраиваемые поля без контроля остатка, не являющиеся атрибутом корзины.
Этот вид полей наиболее распространенный. Такие поля используются в двух случаях: когда требуется добавить дополнительную информацию о товаре, которая должна располагаться в каком-то определенном месте на странице товара, отличном от стандартного описания, или когда требуется производить поиск и фильтрацию товаров по этому полю.
По настройкам данный вид полей отличается от предыдущего только тем, что в опции «Атрибут корзины» выставляется «Нет».
Давайте рассмотрим пример поля данного вида.
Предположим, что в продажу поступила новая модель мобильного телефона «Звонилла 3020», которая отличается от «Звонилла 3000» тем, что имеет не 10, а 20мб встроенной памяти, а также процессор «Звон 3.2», а не «Звон 3». Мы хотим, чтобы в нашем магазине информация о количестве памяти и процессоре отображалась бы в отдельном блоке, отличном, от стандартного описания. Также мы хотим иметь возможность поиска товаров по типу процессора и количеству памяти. Здесь нам помогут поля данного вида.
Создаем 2 новых поля «Процессор» и «Объем памяти»:
Создаем новый товар «Звонилла 3020» и выбираем в дополнительных полях «Процессор» и «Память». Сохраняем. А для старой модели «Звонилла 3000» редактируем набор полей.
После этого можем посмотреть, как данные будут выглядеть на сайте.
Оформить, конечно, можно гораздо лучше. Это лишь пример.
Также данный вид полей подходит для того, чтобы добавлять товарам знаки привлекающие внимание, например, «Хит продаж». Для этого используется поля типа checkbox, хотя можно сделать и по-другому, в зависимости от задачи.
Что касается фильтрации, то здесь нужен отдельный модуль. Все хорошие модули фильтрации для Virtuemart 2 платные, но многие из них стоят своих, небольших, денег. Обзор модулей фильтрации для Virtuemart 2 будет в одной из следующих статей серии.
Настраиваемые поля Virtuemart 2. Настраиваемые поля с контролем остатка.
Контроль остатков нужен тогда, когда мы имеем не просто разные цвета телефонов, а опции, в значительной степени, отличающиеся и имеющие свое количество и стоимость. Примером таких видов полей могут служить защитная пленка для телефона и дизайнерский чехол. Важно отметить, наши пленка и чехол являются товарами, подходящими только к данной модели телефона, но не к другим. Если аксессуары подходят к нескольким моделям, их имеет смысл оформлять, как отдельные товары категории «Аксессуары», а вот если аксессуар уникален для единственного товара, то он будет дочерним товаром. Возможно, пример с телефоном и пленкой не очень наглядный. Гораздо более понятным будет пример с кухонным гарнитуром, который мы можем купить в разных комплектациях. Весь гарнитур целиком будет основным товаром, а каждый отдельный ящик гарнитура, столешница, мойка, и.т.д. – дочерними товарами(этим типом настраиваемых полей).
Тема дочерних товаров в Virtuemart 2 пока не очень проработана, поскольку весьма сложна в реализации. Да и описание потянет на отдельную статью. Поэтому описание дочерних товаров и принципов работы с ними я отложу еще на некоторое время, до выпуска более стабильных версий Virtuemart 2.
Настраиваемые поля Virtuemart 2. Настраиваемые поля, заполняемые пользователями.
Это также довольно полезный вид полей. Иногда требуется дать покупателю возможность самому ввести какую-то дополнительную информацию о товаре. Например, представим, что «Звонилла 3000» продается вместе с услугой гравировки какого-либо текста на задней крышке. Услуга оплачивается дополнительно. Перед покупкой пользователь должен задать этот текст, который потом будет доступен вместе с заказом. Для реализации подобной идеи создаем поле, заполняемое пользователем:
Добавляем это поле к товару и задаем для него цену:
Смотрим, что получилось на сайте:
Как только пользователь начнет вписывать текст, общая цена товара автоматически увеличится на цену гравировки без перезагрузки страницы. После того, как товар добавлен в корзину, поскольку в настройках мы установили, что данное поле является атрибутом корзины, то в ней мы увидим следующее:
Всё, с видами полей разобрались. Не путайте «виды полей» с «типами полей». Виды – это классификация по функциональным возможностям, а типы – по способу ввода и отображения. Типы полей – это: строка, число, логический, область текста, и.т.д. Подробнее о типах полей, их настройке и отображении, мы поговорим в следующей статье серии.