Настроювані поля virtuemart 3 мультіваріант

Мультіваріант (Multi Variant) - спеціальний тип настроюється поля virtuemart, який дозволяє не просто додавати до товару опції, які впливають на вартість, але і створювати складні залежності між ними і вести облік залишків товарів з різними наборами опцій.

По суті це один і той же товар, потрібно тільки налаштувати, щоб в картці користувач не зміг вибрати варіант, якого не передбачено або просто немає в наявності.

Використовуючи стандартне настроюється поле з типом Рядок ми не зможемо налаштувати залежність між кольором товару і обсягом пам'яті. Крім налаштування залежностей було б непогано вести облік залишків, щоб автоматично додавати / прибирати різні варіанти товару.

Всі ці завдання в virtuemart вирішуються за допомогою дочірніх товарів і настроюється поля Мультіваріант.

Дочірні товари - це варіації основного товару, які чимось від нього відрізняються. Наприклад, розміром, кольором, шириною і т.д.

Створення дочірніх товарів

Дочірні товари можна створити різними шляхами.

У списку всіх товарів вибираємо потрібний товар і натискаємо кнопку Дочірній товар.

Настроювані поля virtuemart 3 мультіваріант

Усередині товару у вкладці Інформація через кнопку Додати дочірній товар.

Настроювані поля virtuemart 3 мультіваріант

При додаванні настроюється поля з типом Мультіваріант до товару з'являється можливість створити дочірній товар в 1 клік і відразу задати для нього потрібні опції. Це дуже зручно, якщо не потрібно змінювати назви товару, кількість на складі і інші характеристики.

Настроювані поля virtuemart 3 мультіваріант

Але при цьому способі створення виникають деякі проблеми. Зокрема, якщо дочірніх товарів не створено зовсім, то при створенні першого може з'явитися "фантомний" товар scalar.

Настроювані поля virtuemart 3 мультіваріант

C чим пов'язана ця помилка поки неясно. Можливо, в наступних версіях vm її усунуть, але в vm 3.0.18 така проблема є, тому краще заздалегідь створити хоча б один дочірній товар 1-м або 2-м способом і тільки після цього використовувати 3-й спосіб.

При створенні дочірніх товарів не потрібно дублювати всю інформацію (опис, зображення і т.д.) з батьківського товару. Досить вказати артикул, залишок і змінити назву (якщо потрібно). Ціну можна буде задати пізніше при додаванні настроюється поля Мультіваріант.

Для нашої задачі створимо 5 дочірніх товарів з однаковою назвою (при бажанні в назву кожного товару можна додати інформацію про кольорі та об'ємі пам'яті).

Після створення дочірніх товарів в картці батьківського з'явиться нова вкладка Дочірні товари.

Настроювані поля virtuemart 3 мультіваріант

Налаштування роздільної поле Мультіваріант

У менеджері полів, що настроюються створимо нове настроюється поле з настройками, як на скріншоті.

Настроювані поля virtuemart 3 мультіваріант

Далі перейдемо в картку товару і у вкладці настроюються підлогу я додамо поле Колір і обсяг пам'яті.

Завантажиться на перший погляд незрозуміла конструкція з дочірніх товарів і якихось додаткових полів.

Настроювані поля virtuemart 3 мультіваріант

Але все не так складно, як здається на перший погляд

Для початку створимо 2 параметра (Колір і Обсяг пам'яті), за якими кожен варіант буде відрізнятися один від одного. Для цього у верхній частині поля виберемо Використовувати довільний ярлик. задамо назву Колір і списком перерахуємо всі доступні кольори. Після цього обов'язково потрібно зберегти товар.

Далі створимо другий параметр Обсяг пам'яті. Знову вибираємо використовувати довільний ярлик, задаємо назву і натискаємо кнопку Нове.

У який з'явився поле також перераховуємо список можливих варіантів і зберігаємо товар.

Після цих нехитрих маніпуляцій все стає на свої місця. Тепер для кожного дочірнього товару можна вибрати набір доступних параметрів.

Настроювані поля virtuemart 3 мультіваріант

На сайті це буде виглядати наступним чином.

Настроювані поля virtuemart 3 мультіваріант

Товар не можна купити поки не буде вибраний хоч би один варіант. Так відбувається, тому що у батьківського товару в налаштуваннях не вибрані параметри кольору та об'єму пам'яті. Якщо ці параметри задати, то в батьківському товар також буде доступна кнопка Купити.

Для вибору доступний тільки Колір. тому що Об'єм пам'яті прив'язаний до нього. Вибираємо, наприклад, Білий.

Настроювані поля virtuemart 3 мультіваріант

Після цього можна вибрати 2 варіанти пам'яті.

Якщо виберемо Рожевий, то варіант буде тільки один.

Настроювані поля virtuemart 3 мультіваріант

Все працює так, як і було задумано.

Зазначу ще деякі деталі. У розглянутому прикладі всі варіанти мали однакову вартість. Задати вартість в залежності від набору параметрів можна в окремій колонці Ціна. Величина вартості задається в абсолютному значенні, а не в відносному, як для інших полів, що настроюються.

Настроювані поля virtuemart 3 мультіваріант

Зіткнувся з проблемою.
Створено каталог товарів. Дочірні товари створюються як multivariant.
Все нормально. Все працює. У фронті з'являється список, що випадає характеристик. Але іноді не зрозумію по якусь логіку з'являється товар, у якого в випадаючому списку крім дочірніх товарів, з'являється товар батько без характеристики. Природно на ньому ні залишків немає, ні в кошик його ложить сенсу немає.
Дивився в адмінці. Ну однаково заведені два товари. У одного немає головного товару в списку в іншого є. В чому може бути проблема?

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

Стандартними засобами зробити не вийде.
Можна спробувати замінити код виведення наявності у батьківського, додавши перевірку на дочірні товари.
Висновок ціни від наявності повинен бути незалежним.
Щоб відповісти на всі питання точніше потрібно дивитися на сайт.
Якщо у Вас шаблон, куплений на virtuemart.su, то створіть тему на форумі підтримки покупців.

Вітаю!
На LikeShop дочірні товари працюють. Мабуть якісь проблеми з настройками. Щоб відповісти точно потрібно дивитися на сайт.
Надішліть доступ до адмінки, доступ до сайту по ftp і посилання на питання на [email protected]. розберемося.
Надалі, будь ласка, всі питання по шаблону задавайте на його форумі підтримки.