Куда идем?

Сегодня мы затронем одну из самых сложных и интересных возможностей Virtuemart 2 – составные товары. Что это такое? Простейшим примером может быть кухонный гарнитур или футболка, имеющая разные размеры и цвета. Такие товары состоят из нескольких позиций, причем важно контролировать остатки каждой их них. В этой статье я расскажу о том, как добавить товару дополнительные опции, которые имеют дополнительную стоимость и контролируемые остатки.

Для большего понимания опишу два вида представления товаров, которые могут использоваться в Virtuemart 2.

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

Решение 1: Создать несколько товаров. Например: футболка зеленая M, футболка зеленая L, футболка зеленая XL, футболка красная M, футболка красная L, футболка красная XL, и т.д.

Решение 2: Создать один товар, в котором добавить опции, позволяющие выбирать размер и цвет.

Очевидно, решение 2 удобнее как для продавца, так и для покупателей. Реализация также вполне понятна: создаем два дополнительных поля «Размер» и «Цвет», являющихся атрибутами корзины и добавляем их для товара. Этот способ отлично работает, но только в том случае, когда не требуется контроль остатков. Если же он все-таки нужен, то этот метод не подходит.

Очевидно, чтобы контролировать остатки по каждой позиции, необходимо завести  соответствующие товары в магазине. Т.е. приходим к решению 1. Правда есть возможность упростить восприятие товара для покупателей. Т.е., хотя товаров и много, покупатель будет видеть всего одну футболку, но с выбором подходящих опций. Здесь мы приходим к термину «Дочерние товары».  Родительским товаром в нашем примере будет футболка. А дочерними – «зеленая M», «зеленая L», «зеленая XL», «красная M», «красная L», «красная XL», и т.д. Для дочерних товаров можно установить собственные цены и остатки. Остается главный вопрос: как настроить все это в Virtuemart 2? Для подобных ситуаций предназначено дополнительное поле типа «Stockable Variants Plugin».

Stockable Variants Plugin. Использование

Прежде всего, необходимо создать дополнительное поле нужного типа.  Переходим в дополнительные поля Virtuemart 2 и добавляем новое поле.  В типе поля выбираем «Плагины». В появившимся списке плагинов выбираем «Stockable Variants». Для примера создадим опцию «Size» и добавим три варианта размеров: Small, Medium и Large. Каждый размер указываем с новой строки, как на рисунке:

virtuemart 2 stockable variants

Дополнительно установим опцию, «Атрибут корзины» в «Да». Сохраняем.

Всё. Поле создано.

Дочерние товары

Теперь пришло время создать дочерние товары под данные опции. Для этого перейдем в список товаров Virtuemart, отметим галочкой нашу футболку (предполагается, что обычный товар «футболка» уже создан) и нажмем кнопку «Дочерний товар». После нажатия кнопки откроется форма добавления дочернего товара. Большинство из доступных полей можно не заполнять, но следует задать название товара «Футболка размера Small», артикул и остаток на складе. Цену можно не указывать, т.к. такая возможность еще будет доступна позднее. После этого сохраняем наш дочерний товар.

Вернувшись к списку товаров Virtuemart 2, вы можете увидеть 1 дочерний товар в колонке «Дочерние товары». Теперь вы можете кликнуть по нему и увидеть список дочерних товаров.

По аналогичному принципу добавляем к нашей футболке еще два дочерних товара – размеры Medium и Large.

Добавление дочерних товаров к родительскому через дополнительное поле

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

virtuemart 2 stockable variants

Остается только задать для них опции размера и цену каждой из опций. Обратите внимание, что указанная здесь цена не будет окончательной ценой данного товара, она добавится к основной цене родительского товара. Т.е. к примеру, если родительский товар стоит 100 руб. и для дочерних вы указываете 10, 20 и 30 руб. соответственно, то при выборе покупателем опций он получит цену в 110, 120 и 130 руб.

Под основным блоком с дочерними товарами вы можете увидеть форму добавления дочерних товаров. Использовать ее не рекомендуется, т.к. до ума она все еще не доведена.

Сделав шаги, описанные выше, вы получите товар «Футболка» с возможностью выбора размера и контролем остатков футболок каждого размера на складе.

Мультиопции

А теперь немного усложним. Что если у нас есть зависимые опции? Скажем, пять размеров и три цвета футболки. Всего получается 15 разных видов футболки. Показывать покупателю выпадающий список из 15 различных позиций нехорошо, согласитесь. Совсем другое дело, если будет показано два списка «Размер» и «Цвет». В первом будет 5 размеров, во втором 3 цвета.  Это гораздо удобнее. Как этого добиться?

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

virtuemart 2 stockable variants

Теперь необходимо создать дочерний товар на каждую комбинацию опций. Т.е. всего получится 15 дочерних товаров.

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

virtuemart 2 stockable variants

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

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

Вот так работает плагин Stockable Variants. Функционал хоть и сложный, но достаточно интересный. Правда, несмотря на все достоинства данного плагина, должен заметить, что в некоторых случаях более оправданным будет применение варианта 1.

Об авторе
Wedal
(Виталий). Веб-разработчик полного цикла (Full Stack). Создатель и автор сайта Wedal.ru.
Основной профиль – создание сайтов и расширений на CMS Joomla.
Добавить комментарий

Комментарии  
-1
Здравствуйте,
и все равно в данном плагине цена "плюсуется" к основной?
0
Vetal, да.
0
Цену основного товара можно сделать 0,000001 коп.
0
спасибо, очень ценный материал!
0
Добрый день, отличная статья!
У меня возникла одна проблема. Делаю размеры для одежды, на каждый размер свой дочерний товар. В родительском товаре добавляю с помощью настраиваемого поля stockable variants дочерние товары. В карточке родительского товара появляется выпадающий список, выбираю нужный размер (если при для дочки была изменена цена, то изменяется цифра). Нажимаю кнопку "В корзину" (кстати, их выведено две), и вместо сообщения, что товар положен в корзину появляется сообщение, что товар есть в наличии. Подскажите плиз, как поправить добавление товара в корзину?
Посмотреть можно тут:
http://miabella.ru/index.php/swimwear/kupalnik-scarlett-detail
Буду очень признательна за комментарии, Ольга
1
Я нашла решение - просто заменила 2 файла в папке /plugins/vmcustom/stockable
Новые файлы взяла из другого сайта ИМ.
1
Добрый день!
Спасибо, очень хорошая статья, как и все остальные на Вашем сайте.
Сейчас занимаюсь добавлением моделей обуви на новый сайт и очень интересует один главный вопрос:
Возможно ли как то через phpmyadmin или другим способом добавить во все модели необходимые дочерние товары(размеры с 35 по 41) или может быть есть способ перенести данные размеры(свойства товара) из vurtuemart 1.1.9 в virtuemart 2.0.12?
Заранее благодарен за совет!!!
2
Alvisid, проще всего использовать экспорт/импорт CSV. Ставите компонент CSVI. Создаете один дочерний товар и поле для него по этой статье. Экспортируете. Смотрите формат данных. По образу и подобию добавляете в файл другие товары. Импортируете. Profit!
0
Доброго вам времени суток хороший человек.
Не могли бы вы сделать статью о массовом импорте/экспорте дочерних товаров в VM2 при помощи CSVI с последующей подвязкой к плагину Stockable Variants Plugin.
При создании магазина женского белья я перенес в него товары (парсингом) с сайта поставщика. Поставщик прислал файл где для каждого товара есть дочка характеризующаяся размер/цвет, цена, остаток. И как подвязать этот файл к магазину через csvi для меня стало очень большой проблемой, ввиду отсутствия руководств на эту тему (импорт дочерних товаров через CSVI в VM2) ни на русском ни на английском. Для VM1 на сайте CSVI было руководство на английском языке для импорта дочерних товаров (где все понятно), а для VM2 руководстово по работе с настраиваимы полями (там многое непонятно).
1
Спасибо за статью.
Сделал все как здесь описано и вроде все нормльно, выводится список, выбраный товар попадает в корзину, но при смене выбора не меняется описание на соответствующее доченрнему товару, как это было в VM 1.
Так и должно быть или может это только проблема моего шаблона?

Уже решил, в моем случае надо использовать поле "Общий дочерний вид".
Работает как надо, я бы сказал, что реализовано даже лучше и удобней чем в VM 1.
1

Цитирую milenial:


Уже решил, в моем случае надо использовать поле "Общий дочерний вид".


Здравствуйте. Скажите, а фотография товара меняется при выборе дочернего товара?
1
Да, фотография меняется. Мне кажется, очень удобное это поле. Если у вас футболки разных цветов, то желательно все-таки выводить разные фотографии.
Автору спасибо за статьи, очень помогают разбираться с Виртуемартом.
2
можете подробней описать что вы делали??? желательно по-шагово
1
Добрый день. У меня J2.5.9 и VM2.0.20a.
Столкнулся со следующей проблемой. Если у вас есть товар А, а к нему 2 дочерних товара А1 и А2. Количество в наличии для каждого дочернего товара указано по 1.
Так вот проблема в том, что дочерние товары добавляются в корзину столько раз, сколько вы нажмете на кнопку...
Есть ли какое-то решение проблемы или снова ждать очередного обновления?
1
smird, а с обычным товаром такого не происходит?
1
Нет, только с дочерними. Причем эта тема неоднократно поднималась на форуме VM2, но никакого ответа пока нет.
У вас подобная ошибка не возникает?
1
smird, не пробовал. Раз тема поднималась на официальном форуме, то скорее всего баг.
0
Да, так и есть, это баг. И, к сожалению, разработчики до сих пор не могут его исправить. Хотя, я считаю, это стандартный функционал, и без него в моем случае вообще невозможно работать.
Но есть решение, не совсем корректное, но работает: http://www.rupostel.com/phpBB3/viewtopic.php?f=5&t=937&sid=1b5d2e395866210264df3bf3f077ebbc

При этом у основного товара должен быть остаток = 0.
1
Спасибо! Очень доходчиво.
Подскажите, а обязательно ли в случае с плагином создавать дочерние товары для каждого сочетания свойств? Нельзя ли как в варианте с дополнительными полями просто добавить эти поля. Заинтересовался плагином как раз из-за различного сочетаний свойств и невозможности получения определенных комбинаций свойств. Контроль товаров для меня не критичен.
1
Андрей, обязательно. Иначе как вы ограничите некоторые из комбинаций.
1
Здравствуйте.
Если товары вводились до того, как появилась надобность сделать часть из них дочерними, то есть ли средства в панели управления, чтобы введенный товар сделать дочерним другого товара? Или только через Phpmyadmin? VM 2.0.18a
1
borro, хороший вопрос, я не пробовал. Второй способ точно рабочий. Первый - нужно ставить опыты.
1
Пример к какой версии Virtuemart?
2.0.20b - не так все
1
как вывести просто разные размеры в 2.0.20b?
1
Руслан, чтобы просто вывести разные размеры, нужно добавить одно и то же поле к товару несколько раз. Каждый раз указывать один из размеров.
1
Спасибо уже розобрался ;-)
3
Здравствуйте, Виталий. Не понятно как через админку удалить неправильно созданные дочерние товары. Вы знаете?
0
В качестве дочерних выступают разные размеры джинс. По каждому из размеров указан запас: Размер 1" - 1шт, "Размер 2" - 1 шт. В родительском товаре указан общий запас (сумма джинс всех размеров).

Если продаётся 1 шт "Размера 1", то запас по нему уменьшается до 0.

А запас родительского товара при этом остаётся неизменным (2 шт), а должен тоже уменьшиться и стать 1 шт, ведь один размер уже продан.

Как это реализовать?
0
Sirooff, родительский товар и дочерние - это разные товары. Самый простой способ - не задавать родительскому товару остаток, задавать только дочерним. Если же нужно показывать общий остаток, то вычислить его, как сумму остатков дочерних прямо в макете.
0

Цитирую Sirooff:

В качестве дочерних выступают разные размеры джинс. По каждому из размеров указан запас: Размер 1" - 1шт, "Размер 2" - 1 шт. В родительском товаре указан общий запас (сумма джинс всех размеров).

Если продаётся 1 шт "Размера 1", то запас по нему уменьшается до 0.

А запас родительского товара при этом остаётся неизменным (2 шт), а должен тоже уменьшиться и стать 1 шт, ведь один размер уже продан.

Как это реализовать?


Действительно интересный вопрос, у меня та же проблема, пока решения не нашла. Если у вас что-то найдется, сообщите плиз.
0
Здравствуйте, подскажите, в след проблеме. У меня virt 2.0.6, через настраиваемое поле "Общий дочерний вид" создаю вывод дочернего товара (радиатор 350) в карточке товара (радиатор 500). Дочерний товар наследует от родительского вывод др настраиваемых полей (количество секций), которые были созданы ранее у родительского. У дочернего товара в этих полях меняю разницу в цене между свойствами (количество секций), так как дочерний стоит дешевле. У родительского товара селектор переключения дочерних товаров работает нормально, а если перейти в дочерний по этому селектору, то в селекторе остается только дочерний. Как это исправить, почему при смене унаследованных свойств в селекторе у дочернего товара пропадает выбор между товарами?
0
cvoboda00, как вам ответить... Чем дальше в лес, тем толще партизаны. Плохо пока обстоят дела с отображением дочерних товаров со свойствами. Очень уж специфическая и сложная тема.
0
Понятно... а возможно ли в настраиваемых полях (атрибут корзины) помимо сложения добавить умножение, чтобы свойства товара умножались когда ставишь знак * от начальной цены товара. Я так понимаю за это отвечает calculationh.php В строке 304 можно заменить в $basePriceShopCurrency = $basePriceShopCurrency + doubleval($variant); + на *, но тогда свойства будут просто умножаться, а как сделать, чтобы когда надо складывались, т.е например пишешь +100 либо *100...
0
cvoboda00, варианты:
- хак ядра;
- просто прибавлять столько, сколько будет при умножении.
0

Цитирую Wedal:

cvoboda00, варианты:
- хак ядра;
- просто прибавлять столько, сколько будет при умножении.


- К сожалению не настолько в этом разбираюсь, чтобы сделать хак ядра, если бы кто ниб хотя бы направил что и как..
- прибавлять сколько нужно меня не выручит к сожалению.. Дело в том, что хочу организовать продажу алюминиевых радиаторов. У них идет отличие в межосевом расстоянии и количестве секций.
Поэтому хотел поставить зависимость количества секций через умножение: 2 секц - *2, 3секц - *3 и тд ,а зависимость между осевым расстоянием простым сложением: 350мм -0, 500мм - +10. Можно конечно сделать через плагин stockable variants и дочерних товаров, но делать 32 дочернего товара - не вариант ,да еще и глюк идет какой то при добавлении товара в корзину, почему то плюсуется лишняя сумма к стоимости товара.. короче в раздумьях, знаний не хватает...
0
cvoboda00, зачем вам здесь вообще дочерние товары? Создайте 2 простых дополнительных поля, являющихся атрибутами корзины: "Количество секций" и "Межосевое расстояние". Далее просто в товаре добавляете это поле столько раз, сколько различных вариантов может быть. Для каждого варианта указываете отдельную стоимость.
0
Может можно добавить хотя бы чтобы программа проценты понимала: +100%, +200%, мне бы выручило
0
Статья очень полезная!!! НО..

добавляем товар, оформляем заказ и выходит такая ошибка
Fatal error: Cannot use string offset as an array in /home/bewoman/bewoman-shop.ru/docs/plugins/vmcusto m/stockable/stockable.php on line 438

заказ не оформляется
может что не так поняли??? помогите пожалуйста!
0
Анна, на каком этапе/странице?
0
На этапе, когда я подтверждаю уже заказ, то есть когда мне должно выйти окно о том, что "Ваш заказ сформирован, спасибо..."
0
Увеличил поле "по умолчанию"

в файле administrator\components\com_virtuemart\helpers\html.php
в строчке public static function input($name,$value,$class='class="inputbox"',$readonly='',$size='37',$maxlength='255',$more=''){

Поле увеличилось, но при сохранении обрезается текст, такое ощущение, что где то еще ограничение, не подскажите в каком файле, все облазил уже...
0
если создать товар "кухня" - и сделать поля из следующих вариантов - кол-во модулей(10 видов);тип покрытия(100 видов); цвет покрытия(20 видов); материал(5 видов) - это ж сколько дочек? Получается можно в 1 товаре весь магазин расписать?
0
neofiles, да можно. Но нужно учитывать на сколько это будет удобно для вас и для пользователей. Иногда проще создать несколько отдельных товаров.
0
Ко мне обратился знакомый, с просьбой, возможно ли создать подобное http://estel-mebel.ru/furniture/kitchens/show_34/ на joomla. Пока лучшего варианта чем этот не нашел.
0
neofiles, можно, конечно, но придется много доделывать/переделывать. Если есть хорошие знания PHP и JS, то можно делать, если нет, то не стоит даже пытаться.
0
Добрый день. У меня в шаблоне DarkMart список связанных товаров, описание товара и оценки выводятся в виде вкладок. Выглядит это так http://tatro2.bget.ru/internet-shop/chajnaya-posuda/chajniki-zavarochnye/chajnik-pelikan-detail.html (ссылку уберите потом, пожалуйста). По умолчанию открыта вкладка описание, а надо, чтобы была открыта вкладка выбрать декоры(там связанные товары).Пробовал поменять местами (передвинул код вкладки связанных товаров наверх и поставил его над кодом описания, вкладки сдвинулись, но все равно при заходе в карточку открыта вкладка описание,хотя стояла на втором месте. Не подскажете, как поменять код, чтобы при заходе была открыта нужная вкладка? Могу скинуть на почту отрывок кода файла дефолт карточки товара.
Заранее извиняюсь за ссылку и за вопрос.
0
Робинзон, в макете, где выводятся эти вкладки, у первой скорее всего в li есть класс "selected". Его нужно перенести на второй li.
0
Добрый день. Спасибо. Меню изменяется, но надо еще править код, чтобы в таблице менялось содержимое по умолчанию. Там каша (для меня) изрядная. Пока отложу.
Простите, еще вопрос. Вот тут http://alanart.spb.ru/catalog.html на сайте есть каталог (джумла 1.5).Интернет-магазин тоже есть.Надо создать такой же каталог на J 2.5 Не посоветуете, какой компонент для этого подходит? Может, сможете по внешнему виду "узнать" старый компонент для 1.5? По названию определить не могу, компонент каталога называется, как и сайт "дизайн студия алан" Я уже голову сломал.
0
Робинзон, похоже, что самописный.
0
Добрый день. Спасибо за инструкцию, но после всех манипуляций появилась одна проблема: При смене параметров (например размер и цвет) не меняется карточка товара, фото, описание, артикул. Так и должно быть?

Joomla 2.5 + VM 2.0.22a
0
Abr0, в данном варианте - да. Чтобы карточка менялась нужно использовать просто дочерние товары, не это поле. Да и меняется она не очень удобно.
0
Всё сделал по инструкции. Цена меняется, фото - нет. (Уже прочитал, что это есть в другом плагине, но неудобно)
А что с остатками? Сделал 16 дочерних товаров (4 цвета и 4 размера), поставил наличие по нескольким. Тем не менее, даёт выбирать всё подряд. Контроль остатков включён. Кстати, пришлось поставить наличие виртуальному родительскому товару.
Что не так?
0
Сайт www.saltaim.ru
Joomla! 2.5.14
VM 2.0.22c
Разбираюсь с этой замечательной функцией которую давно хотел, но руки не доходили.
Вроде все сделал по инструкции, но что-то не то.
Самостоятельный товар A800 работает замечательно, а вот родитель A660 имеет две дочки, но не сам родитель, не дочки не кладутся в корзину. Да и не понятно почему дочки отображаются, ведь их наверно не должно быть видно как самостоятельные товар в категории? Хотя возможно их нужно просто из категории удалить, но товар все-равно в корзинку не лезет.
0
У родителя и дочек под кнопкой "Добавить в корзину" формируется какой-то неправильный код, точнее его там почти нет, вот и кидает на главную страницу. Понять бы причину, да совсем я не программист.
0
А Вы в курсе что этот плагин уже не такой как в этом описании, он изменился и похоже в связке Joomla! 2.5.14 VM 2.0.22c он не работает. Было бы не плохо если бы какой-нибудь гуру попробовал свежую версию в деле и помог разобраться. Плагин то полезный.
0
В данный момент эту проблему обсуждают вот тут http://forum.virtuemart.net/index.php?topic=118677.0
Если конечно мой английский меня не подвел.
0
VM 2.0.22e проблема о которой я писал выше исправлена. Так что если кому-то интересен этот плагин то можно с ним разбираться.

В моем случае он не решает задачи на 100%. Но мне с моим английским похоже не найти взаимопонимания. Не уверен что правильно задаю вопрос и не уверен что правильно понимаю то что мне пишут
http://forum.virtuemart.net/index.php?topic=118931.0
0
Хочу чтобы у родителя отображалось изображение выбранного ребенка.
Вот сайт на котором пытаюсь это получить
http://saltaim.ru/index.php/smartphones
0
JediG, можете начать с этой темы: http://joomlaforum.ru/index.php/topic,218871.0.html
0

Цитирую Wedal:

JediG, можете начать с этой темы: http://joomlaforum.ru/index.php/topic,218871.0.html


Буду разбираться в том что там написано, может поможет. Но то что я вижу в первом посте не то что я бы хотел получить в результате. Кое-какие мысли у меня уже появились, но второй вопрос: Как сделать так чтобы "дети" не отображались в категории я еще не нашел, а без него никак. Пока они видны все это не имеет смысл. Хочется чего-то подобного:
http://www.mountaingear.com/webstore/Clothing/Jackets/Marmot/PreCip-Jacket-Women-s/_/R-227127.htm
В данном случае, как мне кажется, "родитель" не является носителем цвета, а все цвета это цвета "дочек".
0
http://saltaim.ru/index.php/smartphones

В категории в которой живет родитель есть его дети. Хочется дети не отображались, но убрать их из категории не могу, т.к. планируется привязка базы к 1С и все товары одной категории и должны быть в этой категории.
0
Ну на конец-то что-то полезное по поводу полей.
Только столкнулся с таким глюком.
Действующие лица)))
Товар - пальто (родитель)
Дочерние товары - Варианты, отличающиеся размером и цветом (2 опции)
Ядро - VM 2.0.24
Шаблон GK StoreBox.
Суть:
Сделал все по инструкции - заработало, счастью нет предела))), только появились кнопки + и -, коих раньше не было, но так даже лучше. Неприятно другое: все работает, если не авторизоваться. У авторизовавшихся пользователей список размеров норм, а список цветов пуст, кнопки + и - исчезают. В корзину добавляет товар с первым цветом в опциях. Товар заказной т.е. остаток 0, опции на цену не влияют. Подобная реализация необходима в связи с особенностями поставок товара.
Если можете помочь - плз. Уже мозги сломал.
0
Эксперименты показали, что для незарегистрированного пользователя кнопка добавить в корзину отображается независимо от контроля остатков и наличия товара, рядом с ней успешно раполагается кнопка Уведомить меня. Также, при наличии дочерних товаров на остатках, но нулевом остатке родителя, товар отображается как отсутствующий в наличии.
P.S. Дочерним товарам группа не присвоена.
0
Помогите определиться с логикой построения:
Магазин специй, товар для покупки выбирается по весу упаковки: 100г, 150г...
Что использовать: свойство или дочерние товары?
Учет количества не нужен (указывается только для главного товара), вроде бы можно использовать свойство товара, НО тогда не получится автоматически рассчитать стоимость доставки (+ раздражающий вывод списка свойств, когда показывается прибавленная стоимость).
Если делать дочерние товары - то необходимо для каждого дочернего товара заполнять много лишней информации.
Как лучше поступить?
0
S.E., вы сами описали плюсы и минусы каждого из способов. Далее просто решите, что для вас важнее. Если автоматический расчет стоимости доставки, то используйте дочерние товары, если удобство наполнения, то свойства.
0
Расчет стоимости доставки - это да, трудность, но на самом деле не такая уж. Как по мне, модуль доставки Вирта не очень удобен, по крайней мере в моем случае.
К стати, если не используешь систему расчета налогов и для доставки используется только один способ, то можно использовать ее для этих целей, исходя из стоимости. Конечно, придется посидеть с калькулятором и поправить файлы локализации, но это вариант, сам эту систему не по назначению использую, удобно)))
А по поводу прибавки к стоимости, это легко решается правкой кода, а точнее удалением кода, отвечающего за вывод этих данных.
0
Доброго утра, Виталий. Нужно продавать картины, с возможностью выбора типа багета, чтобы информация о выбранном багете также отобразилась в формируемом pdf или письме о заказе. Это как раз показание к применению дочерних товаров? Тип выбранного багета не влияет на стоимость картины, но в перспективе может. VM 2.0.18a. Есть ли возможность отображать и менять картинку багета на странице описания товара в зависимости от выбранного багета?
0
borro, в стандартном варианте - нет. Встречал платный плагин, который позволял это делать, либо можно использовать дочерние товары и перепилить код макета, как описано здесь:http://www.joomla-create.net/item/tovar-table.html .
0
Доброго дня. Счастья вам и обитателям вашего сайта, на всю жизнь! :) Виталий, я переделал так, что настраиваемое поле,являющееся атрибутом корзины, стало выводиться не радио кнопками, а выпадающим списком. И выбранное значение поля перестало передаваться в корзину. Вы в курсе, какой код определяет, что передавать в корзину(заказ), а что нет?
0
borro, в макетах VM есть макет customfields.php(или сейчас его совместили с макетом добавления в корзину, уже не помню). В нем можно найти в том числе все параметры, которые передаются.
0
Доброе утро, Виталий.
В файле com_virtuemart\productdetails\tmpl\default_addtocart.php подредактировал вывод настраиваемых полей с вида радиокнопок на выпадающий список таким образом:
заменил

Код:

<span class="product-field-display"><?php echo $field->display ?></span>


на

Код:


<span class="product-field-display">
  <?php if($field->custom_title=="Тип багета"){
     $baget_types = explode(';', $field->custom_value);
     ?>
     <select name="baget_type" required>
        <option disabled>Выбирите багет</option>
        <?php foreach($baget_types as $value){
           echo '<option value="'.$value.'">'.$value.'</option>';
        }
        unset($value);
        ?>
     </select>
   <?php }
   else {
      echo $field->display; }
   ?>
</span>


В результате выбранное значение настраиваемого поля перестало попадать в корзину. Где искать причину затора?
0
borro, нужно понять, что выводилось в переменной $field->display. Там, вероятно, были еще какие-то input'ы с данными для корзины. Посмотрите через Firebug и сравните с тем, что передаете вы.
0
Здрастя! :lol:
нужна помощь, делаю инет магазин, на вм 2,026д, и поставлена задача, чтобы выбор товара выглядел приблизительно так!
http://www.florist.ru/bouquet-600203.html
это реально сделать?
остаток товара не имеет значения!
Спасибо!
0
mario052, реально только при условии, что вы достаточно хорошо знаете PHP. Стандартными опциями VM2 - нет.
0
Ясно, спасибо за ответ!
Хороший сайт! Подписался!
0
Возможно ли реализовать выбор цвета не его названием а выбором из нескольких вариантов изображения или превьюшки товара нужного цвета или хотя бы изображений представленных цветов?
0
Дмитрий, http://virtuemart2.info/prodazha-tovarov-raznyx-cvetov-v-virtuemart-2/
0

Цитирую Wedal:

Дмитрий, http://virtuemart2.info/prodazha-tovarov-raznyx-cvetov-v-virtuemart-2/


Добрый день, спасибо то, что нужно.
Подскажите как можно вывести кнопку купить на страницу категории? И как вообще правильно изменять вывод товара на странице категории?
0
Дмитрий, нужно взять код кнопки добавления в корзину из макета страницы товара, изменить в нем все:

Код:

$this->product->


на:

Код:

$product->


и вставить в макет категории.
0
Подскажите пожалуйста VM 2.0.24 сделал через плагин все цвета, при нажатии на цвет у меня высвечивается нужный мне товар но при попытке добавить в корзину, у меня добавляется товар другого цвета тоесть тот что стоиит первым в списке цветов , помогите решить проблему
1
попытался реализовать схему по которой бы можно было выбирать цвет и размер. НО есть один ньюанс, нужно чтобы цвету красный соответствовал размер 44,46,48 а цвету белый размер 50,56,48 - получилось что есть общий набор сочетаний цветов и размеров. Т.е. для красного есть и 44,46,48 И 50,56,48 - точно так же и для белого.
Подскажите как решить проблему?
1
Присоединяюсь к вопросу.
0
Отличная статья, сейчас переделываю у себя.
Вот как заведен был товар:
http://ellie.kz/index.php/ru/front-page/malysh-0-24-mesyatsa/10-5-13-sm-pinetki-227-2014-03-24-229-230-2014-03-24-233-234-detail

И как завел его при помощи статьи:
http://ellie.kz/index.php/ru/front-page/malysh-0-24-mesyatsa/10-5-13-sm-pinetki-227-2014-03-24-229-2014-04-28-337-338-339-340-detail

Огромное спасибо за статью)))
5+++
0

Цитирую Робинзон:

Да, фотография меняется. Мне кажется, очень удобное это поле. Если у вас футболки разных цветов, то желательно все-таки выводить разные фотографии.
Автору спасибо за статьи, очень помогают разбираться с Виртуемартом.


Может с заподанием написал, но как решить всё-таки? При выборе этих выпадающих списков меняется цена, но не изображение. Как сделать, чтоб при этом вместо родительского изображения появлялось изображение дочернего товара?
0
Добрый день.
Завел футболки:
http://ellie.kz/index.php/ru/malysh-0-24-mesyatsa/kostyumy-rubashki-futbolki/9mes-5-let-80-120sm-kostyum-i-love-mama-papa-detail

каждой модели по 1 шт, пришел заказ с разницей в 10 минут, на одну модель, одного размера(MAMA 116см), и заказ оформился- без проблем. Причем в дочернем товара(ту модель которую заказали):
в наличии-1
заказано-2.

В родительском:
в наличие -10
заказано-0.

И доступность в выпадающем списке остается. Куда смотреть, чтобы понять, почему не ведется учет и почему не проверяется наличие вещей на складе?
Спасибо.
0
Toha, смотрите настройки VM. Там есть опции по доступности.
0
Как осуществить, чтобы при мене цвета, менялось и фото товара по цвету?
0
Quantum-ws, если вы не владеете PHP и Javascript, то проще всего обратиться к фрилансеру. Это достаточно сложная задачка.
0
Дочерний товар добавляю через табличку внизу, захожу на дочерний товар, например: туалетная вода ставлю объем 50 мл, ставлю цену, но мне нужно чтобы цена высвечивалась окончательная а не основная потому что стоит наценка, а программа ставит мне основную цену, смогу ли я добиться своего или не.
0
СОРАТНИКИ! по данному плагину практически нет материалов. Подскажите, пожалуйста,почему может не быть контроля остатков. У дочерних товаров остатки в карточке прописаны, опция "Overwrite plugin values of the parent" активирована.В настройках VM установка при отсутствии товара убирать кнопку "купить" и выводить кнопку "уведомлять". Но почему то ВСЕ РАВНО плагин дает выбирать дочерние товары с 0-ым остатком и кнопку "уведомить" не выводит.КУДА КОПАТЬ?!))
0
Чистая установка Joomla 2.5.27 + VM 2.6.12/
Создал товар, к нему сделал 2 дочерних товара, все строго по статье. Добавил поле Размер. На сайте поле не появилось. Все снес, сделал в точности (по буквенно) как в статье - выводится один родительский товар :(.
Похоже, что в новой версии VM плагин или не работает, или работает не так.
0

Цитирую Gremlin:

Чистая установка Joomla 2.5.27 + VM 2.6.12/
Создал товар, к нему сделал 2 дочерних товара, все строго по статье. Добавил поле Размер. На сайте поле не появилось. Все снес, сделал в точности (по буквенно) как в статье - выводится один родительский товар :(.
Похоже, что в новой версии VM плагин или не работает, или работает не так.


Разобрался сам. Не обратил внимания на чек-боксы Parent Variant - они должны быть включены конечно-же!
0
При нажатии на кнопку добавить В Корзину, выдает сообщение "undefined", хотя дочерний товар есть на складе
0
Доброго времени суток. Проблема аналогичная. Временно решилась указанием количества в родительском товаре. Стоит опция "Показывать 'Известить меня' вместо кнопки 'Добавить в корзину'"
Второй вариант:поставить галку: Товары, которых нет в наличии, могут заказываться. Никаких специальных действий.
К сожалению ни тот ни тот вариант не идеальный. ПРосто будем счастливы если кто-то подскажет как решить эту проблемму.
Она кроется в том что если товар родитель"отсутствует на складе" - не дает заказать дочерние товары
0
Уважаемый Виталий, Ваша статья просто спасла множество людей. В рунете работа этого плагина больше особо нигде не описана, и Ваша статья, без преувеличения практически единственный истичник адекватной информации.
В virtuemart 2.6.12.2 (о других версиях судить не могу), проблема описана в 2х последних комментариях ну очень мешает дышать и жить. Если в опциях указать что при отсутствии товара на складе менять кнопку купить, или в корзину на "уведомить меня", а количество родительского товара = 0 кнопка купить отображается, но при попытке нажатии - пишет что товара нет в наличии. При положительном количестве родительского товара на складе - заказ оформляется, но это сбивает с толку при формировании остатков товара, подсчетах и так далее. Если Вас не затруднит подскажите решение.
0
george007ua, боюсь, что изначально так и задумано. Решением будет правка кода, либо подсчет остатков родительского товара, как его количество + сумма дочерних. Что и где править - не знаю. Нужно анализировать код.
0
Спасибо, Виталий за предоставленную информацию. Я все-таки склонен считать что изначально задумано было как раз вариант что родитель равен 0. Потому что когда проставляешь родителя =>0 возникают неувязки в отображении.
Я постараюсь решить эту проблему, скорее всего придется обращаться за помощью так как не силен в коде... Когда найду решение - обязательно выложу. Плагин конечно своеобразный, но настолько заморочистый настолько и интересный. Я очень надеюсь что в Virtuemart 3 его допилили.
Спасибо за статью. Очень полезный материал и доступное изложение.
0
Подскажите плиз, а где сие диво скачать ???
0
Плагин уже установлен с Virtuemart. В настраиваемых полях Создать, тип поля: плагины, в появившемся списке плагинов выбираем Stockable Variants plugin. Читайте статью, весьма толковая.
В принципе, боль мень описание нашел на буржуйском сайте, если пропустят ссылку, я не помню точно что, но что-то я и здесь нашел полезного https://www.flexiblewebdesign.com/forum-virtuemart-2-template-puremart-support/152-tutorial-custom-field-with-stockable-variants
0
Добрый вечер! Спасибо большое за статью, сэкономила кучу времени ;) Попросили настроить групповые товары уже на настроенной до меня джумле, и вот делаю все описано выше, но...
когда, выбрав плагин, я заношу название и список опций, то после сохранения они пропадают. Все остальное есть, а эти поля девственно чисты получаются. Причем не важно на каком языке пишешь эти переменные. Куда смотреть не подскажите? Может я где-то что-то упустил?

Заранее спасибо за любой ответ )
1
Здравствуйте, после того как я добавляю больше 80ти дочерних товаров и определяю им настраиваемое поле с цветом и размеров - после сохранения перестает работать все настраиваемые поля и перестает выводиться селект в товаре. В чем может быть проблема, почему только после 80 товаров?, так же происходит после импорта товара все 80 добавляются нормально, вместе с полями, а вот ели больше 80ти товаров не работает...
1
Отвечаю сам же на свой вопрос по скольку лень покинула меня и сам решил разобраться в этом вопросе. Путем импорта с помощью ЦСВ импорт я залил 80 товаров - зашел в БД _virtuemart_product_customfields которое отвечает за сохранение параметров назначенных для товара в моем случае цвет и размер, нашел мне нужный товар по айди, и увидел что в поле custom_param 80 строк со свойствами для моих товаров, за тем я попробовал залить уже больше 80 позиций, затем проверив еще раз custom_param у этого товара я увидел что больше 80 полей так и не прибавилось. Решение конечно очень простое, для custom_param поле varchar с ограничением количества полей, нам нужно перейти _virtuemart_product_customfields изменить custom_param и в поле длина значения выставить нужное вам число
0
На шаблонах от Smartaddons при правильной настройке Stockable Custom Field (все работает на чистой связке vm3+j3.48) - не меняется основное фото в карточке товара.
Через Фаербаг -В ответе сервера 304 и видно в строчке фото дочернего товара которое надо выводить в основное фото.
Что нужно добавить в настройках?
0
может я туплю но почему я не вижу этого плагина в списке ВМ 3.2.4?
0
djbu, в Virtuemart 3 это поле называется Multi Variant.