Настроювані поля virtuemart 3 мультіваріант
Мультіваріант (Multi Variant) - спеціальний тип настроюється поля virtuemart, який дозволяє не просто додавати до товару опції, які впливають на вартість, але і створювати складні залежності між ними і вести облік залишків товарів з різними наборами опцій.
По суті це один і той же товар, потрібно тільки налаштувати, щоб в картці користувач не зміг вибрати варіант, якого не передбачено або просто немає в наявності.
Використовуючи стандартне настроюється поле з типом Рядок ми не зможемо налаштувати залежність між кольором товару і обсягом пам'яті. Крім налаштування залежностей було б непогано вести облік залишків, щоб автоматично додавати / прибирати різні варіанти товару.
Всі ці завдання в virtuemart вирішуються за допомогою дочірніх товарів і настроюється поля Мультіваріант.
Дочірні товари - це варіації основного товару, які чимось від нього відрізняються. Наприклад, розміром, кольором, шириною і т.д.
Створення дочірніх товарів
Дочірні товари можна створити різними шляхами.
У списку всіх товарів вибираємо потрібний товар і натискаємо кнопку Дочірній товар.

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

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

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

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

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

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

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

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

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

Після цього можна вибрати 2 варіанти пам'яті.
Якщо виберемо Рожевий, то варіант буде тільки один.

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

Зіткнувся з проблемою.
Створено каталог товарів. Дочірні товари створюються як multivariant.
Все нормально. Все працює. У фронті з'являється список, що випадає характеристик. Але іноді не зрозумію по якусь логіку з'являється товар, у якого в випадаючому списку крім дочірніх товарів, з'являється товар батько без характеристики. Природно на ньому ні залишків немає, ні в кошик його ложить сенсу немає.
Дивився в адмінці. Ну однаково заведені два товари. У одного немає головного товару в списку в іншого є. В чому може бути проблема?
Потрібно дивитися на настройки полів для кожного товару, так важко сказати в чому проблема.
Надішліть скріни.
Стандартними засобами зробити не вийде.
Можна спробувати замінити код виведення наявності у батьківського, додавши перевірку на дочірні товари.
Висновок ціни від наявності повинен бути незалежним.
Щоб відповісти на всі питання точніше потрібно дивитися на сайт.
Якщо у Вас шаблон, куплений на virtuemart.su, то створіть тему на форумі підтримки покупців.
Вітаю!
На LikeShop дочірні товари працюють. Мабуть якісь проблеми з настройками. Щоб відповісти точно потрібно дивитися на сайт.
Надішліть доступ до адмінки, доступ до сайту по ftp і посилання на питання на [email protected]. розберемося.
Надалі, будь ласка, всі питання по шаблону задавайте на його форумі підтримки.