Добавляем свойства, позиции и особенности для главных и зависимых товаров в интернет магазине VirtueMart

20 Апрель, 2010

Здравствуйте, уважаемые читатели блога KtoNaNovenkogo.ru. В одной из последних статей мы рассмотрели простое добавление товара в VirtueMart. Сегодня же подробно рассмотрим работу с его свойствами и научимся создавать зависимые товары (подтовары).

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

Задаем свойства и особенности для товаров в VirtueMart


Как я уже упоминал, в прошлой статье мы подробно рассмотрели простое добавление нового продукта (см. ссылку выше). Мы добавляли для него краткое и полное описание, фотографию, а так же делали прочие настройки.

В результате такого добавления, каждому созданному товару из любой категории интернет магазина будет соответствовать своя собственная страница с описанием (карточка). На ней покупатель сможет только ознакомиться с описанием и совершить покупку, нажав на кнопку «Купить».

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

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

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

В VirtueMart есть способ отображать в категории только одну позицию с данной моделью ноутбука, а уже при переходе к подробному рассмотрению (в карточки товара по ссылке «Подробнее»), у покупателя будет возможность уточнить цвет и начинку выбранной модели.

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

Давайте для начала рассмотрим, как можно добавить к уже существующему или же только что созданному в VirtueMart продукту свойство. Для этого вам нужно в панели управления (в верхнем меню админки Joomla «Компоненты» — «VirtueMart») выбрать из меню два раза «Товары». В списке вам нужно будет найти нужный объект издевательств, либо добавить новый, способом, описанным в предыдущей статье.

На открывшейся странице настроек необходимо будет перейти на вкладку «Статус».

Прокрутите ее до области «Список свойств». В поле «Title» вы должны будете вписать название, которое сможет принимать значения, заданные вами в поле «Особенность» (например, в качестве свойства вы можете использовать частоту центрального процессора ноутбука, в качестве его особенностей — значения частоты 2Ггц, 2.2Ггц и т.д.).

Для товаров обладающих этими особенностями можно будет задать свою цену, вписав ее в поле «Цена».

При этом можно задать абсолютное значение цены изделия, обладающего этой особенностью (для этого перед ценой нужно будет поставить знак =), но лучше все же будет указать отличие цены продукта, обладающего этим свойством, от базовой (со стандартным набором).

Это отличие задается прописыванием в поле «Цена» цифрового значения со знаками «+» и «-», в зависимости от того, увеличивается она относительно базовой комплектации или же уменьшается, при выборе товара с этой особенностью. Допустим, что базовая конфигурация ноутбука имеет частоту процессора 1.8Ггц, тогда для ноутбуков со свойством 2Ггц цена будет выше базовой на, допустим, 500 рублей. В этом случае, в поле «Цена» для 2Ггц нужно будет прописать «+500».

Для добавления новой «особенности» товара в VirtueMart, нужно нажать на ссылку под оригинальным названием «Новая». Добавляйте столько «особенностей» для «свойства» изделия (в нашем примере это частота центрального процессора ноутбука), сколько нужно.

Затем вы можете создать еще одно «свойство», нажав на ссылку «Новое» (в нашем примере ноутбука это может быть размер жесткого диска) и добавить ему необходимое количество «особенностей» (например, 160 Гб, 250 Гб, 320 Гб, 500 Гб).

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

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

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

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

Создание зависимых товаров в VirtueMart


Понятие зависимых товаров очень сильно пересекается со свойствами, фактически это логическое продолжением этого понятия. Но при этом мы получаем ряд дополнительных возможностей по организации. Давайте рассмотрим создание зависимых изделий в VirtueMart на примере, ибо говорить об этом абстрактно будет непродуктивно и малопонятно.

Если для какого-то изделия задаются зависимые варианты (добавляются позиции), то главный товар, на основе которого создаются подтовары, купить будет нельзя. Он будет представлять из себя своеобразный контейнер, внутри которого будут находиться подтовары с определенными свойствами. При попытке купить главный на странице с его описанием, вы увидите такую всплывающую подсказку:

У покупателя будет только возможность выбрать в карточке определенный подтовар (позицию), который уже можно будет купить:

Попробую в качестве примера взять снова ноутбук. Допустим, что определенная серия ноутбуков определенной марки будет главным изделием или же контейнером для подтоваров (например, ноутбуки Samsung серии R). Зависимыми изделиями будут ноутбуки этой серии с разными размерами диагонали экрана, у которых посетители нашего интернет магазина так же смогут выбрать определенные свойства при заказе (размер жесткого диска, частота процессора и т.п.).

Хотя, наверное, пример не очень удачный. Более наглядно показать смысл использования подтоваров можно на примере продажи дистрибутива операционной системы Windows. Для продукта под названием, допустим, Windows XP (сейчас уже не продается, конечно же) можно создать контейнер с этим названием, а в этом контейнере уже разместить зависимые от него продукты в виде конкретных модификаций Windows XP: Home и Profetional.

Купить основной контейнер Windows XP нельзя, но можно будет выбрать определенный подтовар, прочитать его описание, узнать его цену и после этого совершить покупку.

Есть еще один нюанс, который вам придется учитывать при создании зависимых изделий (позиций). В VirtueMart невозможно создать новую позицию, пока вы не создадите хотя бы одно свойство для главного продукта.

Сделать это довольно просто — вам нужно зайти в настройки главного товара и нажать кнопку «Добавить свойство» вверху страницы:

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

Только после создания хотя бы одного свойства, кнопка «Новая позиция» появится в верху страницы настройки главного изделия:

Думаю, что смысл вам в общих чертах стал ясен, теперь осталось только рассмотреть в подробностях способы добавления новых позиций товара в VirtueMart. Сначала нужно создать основной продукт (контейнер). Для этого вы должны выбрать из меню панели управления пункты «Товары» — «Добавить».

Задаете для основного изделия артикул, даете ему название (в нашем примере — Windows XP) и выставляете для него цену. Если ее не задать, то и для подтоваров цену задать не получится.

Краткое и полное описание для главного изделия должно содержать подсказку покупателю вашего магазина, говорящую о том, что он должен будет выбрать определенный подтовар (позицию) для совершения покупки. Далее вам нужно перейти на вкладку «Изображение» и загрузить (с помощью кнопки «Обзор») с вашего компьютера фотографию для основного изделия (контейнера).

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

Добавление позиций для главного товара


Теперь пора приступать к созданию новых позиций для главного изделия. Для этого вам нужно выбрать из меню админки VirtueMart пункт «Товары» и найти в открывшемся списке нужное нам основное изделие (Windows XP, в нашем случае). Отмечаем его галочкой и нажимаем на кнопку «Добавить свойство» вверху страницы.

В открывшемся окне в поле «Название свойства» вы задаете такое название, которое будет определяющим для подтоваров (в нашем примере это версия операционной системы). Сохраняем произведенные изменения.

Заходим из админки VirtueMart в свойства основного изделия: «Товары» — «Его название». На странице настроек нужно будет нажать кнопку «Новая позиция», расположенную вверху страницы.

Откроется обычное окно создания новой позиции, как две капли воды похожее на обычное окно добавления нового товара (только в названиях вкладках можно увидеть упоминание позиции). Заполняем все поля для первого подтовара (Windows XP HOME) по аналогии с основным, но при этом артикул, название, полное описание и цены прописываем уже для данного изделия.

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

Далее заходим на вкладку «Статус позиции», переходим в самый низ страницы и в поле «Свойства» вводим значение (его название мы задали чуть выше), по которому у вас различаются подтовары (позиции). В нашем случае это версия операционной системы, поэтому нужно будет ввести для первого подтовара – Home.

Для подтовара так же загружаем со своего компьютера изображение на вкладке «Изображения позиции». Сохраняем произведенные изменения. Опять заходим в описание основного изделия и жмем на вкладку «Добавить другую позицию».

Аналогичным образом создаем второй подтовар. В нашем примере это будет Windows XP Profetional. Прописываем для него название, артикул, полное описание, задаем цену и в поле «Свойства позиции» пишем – Profetional.

Информация из поля «Свойства позиции» будет отображаться рядом с названием подтовара (позиции), в скобках после названия.

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

Если вы захотите посмотреть все позиции главного продукта, то можете на странице с их списком (в панели VirtueMart выбрать из меню два раза «Товары») нажать на ссылку «Информация о позиции» под названием изделия:

Если вы захотите посмотреть список свойств для главного продукта (например, для изменения названия одного из них), то вам нужно открыть его настройки («Товары» — «Название») и в меню админки «Товары» — «Список св-в»:

Вы можете настроить способ отображения списка подтоваров на странице описания главного. Для этого вам нужно в настройках в админке выбрать из меню пункты — «Товары» — "Название " и перейти на вкладку «Показать опции»:

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

При этом у вас появится возможность переставить флажок в поле «Кнопка „Добавить в корзину“ для каждого зависимого товара», которые находится в области «Список стилей». В этом случае в конце строки таблицы с каждым подтоваром (позиции) появится кнопка «Купить».

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

Удачи вам! До скорых встреч на страницах блога KtoNaNovenkogo.ru

Еще:

Рубрики :Как создать интернет-магазин

Комментарии и отзывы

dm

Нашел в инете ссылку на интернет магазин http://shoptest.ru/ долго переписывался администрацией (уж очень я недоверчивый). После регистрации они дают тест по временной ссылке, после оплаты дают полный доступ. Не обманули, кроме того помогли с настройками магазина. А DVD, обучающий который они прислали до сих пор моя настольная «книга». Облазил в инете все ссылки «интернет магазин» это лучшая в соотношении цена/качество. Выбирать Вам...

Watslav

Подскажите, пожалуйста, как и где изменить внешний вид (дизайн) формы выбора дополнительных свойств товара http://ktonanovenkogo.ru/image/19.0419.png ?

BlackDiamond33

Watslav: Обычно дизайн форм меняет в CMS в файле стилей (часто style.css). Больше, увы, подсказать не могу, с Joomla не сталкивался. Работаю с WordPress.

Андрей

А можно ли сделать чтобы при выборе определенного свойства сразу же менялась цена на странице товара?

ор

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

Reeo

Добрый день возможно ли настроить выбор зависимых товаров по нескольким свойствам в нескольких выпадающих списках?

Vit

День добрый!

В моем магазине для удобства навигации пришлось раскидать каждый из товаров по разным категориям (материал изготовления, тип украшения, Зодиак и т.д.). Произошло дублирование контента, что не нравится Гуглу и соответственно трафик с этого поисковика практически отсутствует. Предполагаю, что есть компонент через который можно создавать каталоги с категориями, названия которых являются ключевыми словами для поиска, т.е. нажав например на категорию «Агат» получаешь результат поиска по этому запросу.

Может приходилось встречаться с чем нибудь подобным? Просвятите плиз.

З.Ы. Спасибо за полезные статьи, я Вашь постоянный читатель.

Алексей

А можно сделать так чтоб выбор цвета можно было выбирать в виде мини картинок

дима

не могу

Тимофей

Создал интернет магазин спасибо автору сайта! Не могу понять с оплатой. Как происходит оплата платежной картой? Пришел отчет о заказе там вся информация о заказе и карте. Я должен эту информацию сам в платежный терминал вводить или как?

Андрей

Здравствуйте, спасибо за статью!

Скажите, а ответы на комментарии будут,или отвечаете на почту каждому?

Присоединяюсь к предыдущему вопросу от mik007.

Хочу заменить выпадающий список на чекбоксы

Ильдар

нужно что бы выбор ткани к товару был как тут http://www.mnogomebeli.ru/catalog/m2022.html как можно сделать?

kopec

а скажите пожалуйста как это всё сделать на virtuemart 2??

Дима

Динамическое изменение цен в карточке товара в зависимости от его свойств (бесплатное решение).

http://www.webempresa.com/blog/item/753-modificar-precio-en-la-ficha-de-producto-de-virtuemart-al-aplicar-un-atributo-con-sobrecostes.html?tmpl=component&print=1

Огромная просьба к автору этого блога описать этот вариант в этой статье. Многие ищут это исправление...

Александр

как скрыть на сколько увеличивается цены в статусе товара?

Алексей

Александр поделитесь плагином VM DynamicPrice (plug_VirtueMart_dynamic_price) (пишите alexx1990@meta.ua)

Mickey

Вывод единиц измерения у дочерних товаров

В своё время во flypage.tpl.php вывел показ единиц измерения с помощью прописывания сразу за ценой

<?php echo $product_unit ?>

А вот в файле addtocart_list_single.tpl.php переменные формируются как-то иначе. Подобный подход не помогает. Там цена, например, выводится вот так:

<?php echo $product['actual_price'] ?>

И всё остальное аналогично — через квадратные скобки (пхп не знаю). Пробовал тупо подставить

<?php echo $product['product_unit'] ?>
 — нет реакции.

Как вывести единицу измерения в таблице дочерних товаров??

Шерстил интернет — ответа нет. Возможно, такая задача вообще не имеет решения.

Сайт вот http://keramikaonline.ru/index.php?page=shop.product_details&product_id=85&option=com_virtuemart&vmcchk=1&Itemid=29

Сверху отлично выводится, а внутри дочерних — нихт.

Буду чрезмерно благодарен за помощь!!

Алексей

Юрий К. Вам необходимо сделать изменения в файле карточки товара (flypage.tpl). Где-то между и вставить P.S. Это описание не инструкция, а просто толчок в нужном направлении. Если сами не справитесь пишите alexx1990@meta.ua

Алексей

Затупил 🙂

... Где-то между

<?php echo $product_name ?>
и
<?php echo $product_price ?>
вставить
<?php echo $vmAttribChildDetail ?>
...

Юрий К.

Большое Вам спасибо Алексей за то, что откликнулись.

Я попробовал, но что-то не выходит.

Вот та часть кода из файла flypage.tpl.php (он у меня так «обозван»).

<div class="vmMainPage3">
          <div class="prod_details">
               <?php  if( $this->get_cfg('showManufacturerLink') ) { $rowspan = 5; } else { $rowspan = 4; } ?>
               <div class="vm_main_info clearfix">
                    <div class="lf">
                    <?php echo str_replace('<br/>', '', $product_image); ?>
                    </div>
                    <div class="rcolumn">
                         <h1><?php echo $product_name ?> <?php echo $edit_link ?></h1>
                         <div class="pprice">
                         <?php echo $product_price_lbl ?> <?php echo $product_price ?><?php echo JHTML::_('content.prepare', $template); ?>
                         </div>
                    </div>
               </div>

Как все-таки правильно вписать нужный код?

Заранее спасибо.

Маша

А как можно сделать, чтобы на странице товара отражалось несколько вариантов его цветов. Например цветные квадраты. И при нажатии менялась картинка или перекидывал на карточку товара с таким цветом?

Спасибо.

Илья

Здравствуйте!

Каким образом вывести атрибут (вес) в список товаров в категории и на fly-page?

Сергей

Маша, передо мной стоит похожая задача, как успехи? Получилось как-то реализовать выбор свойства (цвета) товара по картинке?

lika

Доброго времени суток.

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

Подскажите как можно реализовать?

Mikure

понял что выводится этим

if( $this->get_cfg( 'showAvailability' )) {
	  			echo $product_availability; 
	  		}
	  		?><br />

но куда бы я его не вставлял в flypage

ничего не выводится

Ирина

Не могу понять почему у меня нет кнопки Свойства товаров и нет поля Свойства товаров во вкладки Статус. У меня Joomla 2.5.19. Пробовала ставить версии VirtueMart, ничего не меняется (2.6.0, 2.6.10). помогите, пожалуйста. Что не так. и типы товаров тоже нет

Я поставила уже полный пакет VirtueMart3.0.9_Joomla_2.5.28-Stable-Full_Package.zip, но всеравно нет поля свойства товаров

Подписаться не комментируя