Настроювані поля значно розширюють стандартні можливості virtuemart.
З їх допомогою можна додати до товарів різні властивості, налаштувати облік залишків, організувати фільтрацію, вивести будь-яку додаткову інформацію про товар.
У цій статті розглянемо настроюється поле з типом Рядок. а так само на конкретних прикладах покажемо як його можна використовувати.
Поле з типом Рядок найбільш універсальне. З його допомогою можна вирішити безліч завдань (показ додаткових атрибутів товару, призначення властивостей, що впливають на кінцеву вартість і т.д.). На прикладі цього поля так само розглянемо загальні налаштування, що стосуються всіх інших полів.
Створення настроюваного поля і виведення його в товар
Перш ніж переходити до конкретних прикладів, розглянемо загальні питання.
Створити нове настроюється поле можна в Virtuemart> Товари> Настроювані поля.
При створенні потрібно обов'язково вказати Тип поля і Тема. Інші налаштування розглянемо на конкретних прикладах.
Вивести поле в товарі можна вибравши його зі списку у вкладці Настроювані поля.
Детальніше про налаштування позиції виведення полів, що настроюються в картці товару можна прочитати в цій статті.
Висновок довільного атрибута
Цей спосіб підійде для виведення будь-якої додаткової інформації про товар, наприклад, терміни доставки, гарантії і т.д.
Створимо новий настроюється поле з настройки, як на скріншоті.
Обрано тип поля, зазначений заголовок і позиція виведення поля (докладніше про налаштування позицій). Інші налаштування залишені за замовчуванням.
При додаванні поля до товару у вікні вручну вкажемо потрібний текст.
У підсумку в картці товару отримаємо наступне.
Висновок довільного атрибута з готового списку
Щоб не заповнювати поле вручну, можна додати всі можливі варіанти і вибирати з них при додаванні поля до товару.
Для цього в настройках в поле Значення за замовчуванням через крапку з комою вкажемо кілька варіантів і в поле Список виберемо параметр Так.
Після цього в товарі можна буде вибрати атрибут з готового списку.
У картці товару результат буде той же, що і в першому прикладі з висновком довільного атрибута.
Додавання атрибута в кошик
Щоб при додаванні товару в кошик разом з ним додався атрибут, який ніяк не впливає на кінцеву вартість товару, в настройках поля активуємо перший параметр Атрибут кошика.
В результаті при оформленні замовлення в кошику відобразиться так само атрибут товару.
Висновок властивостей товару, які впливають на кінцеву вартість
Спосіб нижче підійде, наприклад, якщо потрібно організувати на сайті вибір розміру одягу або взуття, причому різні розміри можуть відрізнятися за ціною.
Створимо новий настроюється поле з наступними настройками.
Налаштування ті ж, що і в першому прикладі, за винятком того, що активовані обидва чекбокса Атрибут кошика. Перший відповідає за передачу даних поля в кошик, а другий дозволяє при додаванні поля до товару задавати вартість параметра.
Після створення поля додамо його кілька разів до товару, задамо параметри і вартість кожного параметра.
Важлива особливість. В поле ціна вказується не абсолютне значення, а різниця між базовою і кінцевою ціною. Тобто ноутбук з прикладу з жорстким диском на 256 Gb буде на 1000р. дорожче, ніж базова версія на 128 Gb.
Припустимо так само знак "-" перед ціною для завдання знижки.
Щоб додати до адмін панелі параметрів з готового списку змінимо настройки, що настроюється поля на наступні.
Після цього в картці товару можна буде вибирати параметри з готового списку, а не вказувати кожен раз вручну.
У картці товару отримаємо наступне.
При виборі різних параметрів динамічно змінюється вартість товару.
При завданні для параметра нульовий ціни виводиться напис Без додаткового збору. Видалити її можна в файлі /language/ru-RU/ru-RU.com_virtuemart.ini в рядку
Підкажіть будь ласка, при виборі типу поля рядок з доп. оплатою за св-ва, тобто розмір: 1.50 +0 1.55 +20 наприклад, якщо створювати через адмінку то все в порядку виставляється сортування значень в потрібному порядку, якщо завантажувати через CSVI або Exel like manager, в картці товару вони з'являються в різнобій, підкажіть, як мені дотримати ієрархію 1 , 50 1,55, 1,60 і т.д. Так би робив ручками в адмінці, але це дуже не зручно тому властивостей таких 40 а товарів в яких вони однотипні приблизно 1000 шт. Підкажіть будь ласка як вирішити це завдання, заранее спасибо!
Думаю, що властивості відображаються в тому порядку, в якому завантажуються на сайт.
Спробуйте відсортувати їх в exel файлі і заново завантажити.
Вітаю!
У статті "Продаж товару різних розмірів в virtuemart 2" ви описували як відредагувати шматок коду, який відповідає за висновок, що настроюється поля «Атрибут кошика» так, щоб список з розмірами придбав набагато більш зрозумілий і звичний вид. Тобто без + перед сумою, а відразу з відображенням повної вартості для кожного розміру.
Скажіть будь ласка, як це ж саме виконати для VM3?
Рядки коду у файлі customfields.php для VM3 відрізняються від VM2
Замість знака "+" вписуємо своє значення. Я наприклад вписав "-"
У підсумку, отримуємо відображення вигляду:
128 Gb - 39990 руб
256 Gb - 49900 руб
На мій погляд так набагато зручніше.
При додаванні товарів з декількома розмірами немає необхідності проводити арифметичні дії - відразу вписуємо ціни з прайсу.
Та й для клієнтів таке відображення буде набагато зрозуміліше.
Спасибі, що поділилися рішенням!
принцип прикольний, але таким чином не працює калькулятор - при виборі двох і більше штук товару цінник не змінюється, до основної ціною не складається
Привіт, підкажіть, чи можливо налаштувати залежні поля. Для інтернет-магазину одягу потрібно створити залежний розмір з кольором. Зараз виходить створювати окремі поля Колір і Розмір. Але що якщо розмір S є тільки в білому кольорі, а розмір М є тільки в червоному кольорі. Якщо звичайний список, то покупець може вибирати до розміру S будь-який колір в списку. Як зробити щоб показувався для розміру S тільки певні кольори, а не весь список квітів?
Зробити так можна, планую статтю на цю тему.
Подивіться хороший матеріал. повинен допомогти.
Що значить "всередині знайти"?
Як варіант можна зробити перший пункт випадає без додаткової ціни, наприклад, з написом Вкажіть варіант і за допомогою цього скрипта вибирати відразу другий варіант в випадаючому списку