- Вывод информации в карточке товара Virtuemart
- Табличный вывод товаров VirtueMart 3 — [VM2&3] Дизайн, оформление
- Новости Joomla
- Вышел релиз Joomla 4.1 Alpha 2
- Вышли релизы Joomla 4.0.4 и Joomla 3.10.3
- JComments Fork 4.0.2
- Настраиваемые поля virtuemart 3: Мультивариант/Дочерние товары (часть 6)
- Создание дочерних товаров
- Настраиваемое поле Мультивариант
- Похожие статьи :
- admin
- Руслан
- admin
- Konstantin99
- admin
- Назар
- admin
- Роман
- admin
- Роман
- admin
- Роман
- Роман
- admin
- Алексей
- admin
- 7Hogik
- admin
- admin
- admin
- Денис
- admin
- Денис
- admin
Вывод информации в карточке товара Virtuemart
Часто приходится выводить в карточку товара какую-либо дополнительную информацию, например вывести артикул в карточку товара или например, габариты товара. В большинстве шаблонов, вывод этой информации крайне ограничен разработчиками, по-этому публикую очень полезную справку по полям, которые можно вывести в карточке товара.
Сразу хочу сказать, что описывать все данные не стану, так как информации довольно много. Если у Вас есть минимальные познания в PHP, просто возьмите и распечатайте массив, после чего возьмите любую необходимую информацию.
Вот небольшой список конструкций для вывода наиболее часто необходимой информации.
Название товара
Артикул
Ссылка задать вопрос по этому товару
Краткое описание
Подробное описание
Основное изображение
Дополнительные изображения
Доступность товара (текст)
Доступность товара (изображение)
Минимальное количество для заказа
Максимальное количество для заказа
Единица измерения товара
Вес
Единица измерения веса
Длина
Ширина
Высота
URL товара
Остатки
Можно также вывести мотивирующею надпись, если количество товаров, например меньше 10:
Дата поступления товара
Рекомендуемый товар (1 или 0)
Упаковка
Ссылка вернуться в категорию товара
Источник
Табличный вывод товаров VirtueMart 3 — [VM2&3] Дизайн, оформление
Новости Joomla
Вышел релиз Joomla 4.1 Alpha 2
Проект Joomla рад сообщить о выпуске Joomla! CMS 4.1 Alpha 2.
Вышли релизы Joomla 4.0.4 и Joomla 3.10.3
Доступны к загрузке Joomla 4.0.4 и Joomla 3.10.3. Это релизы с исправлениями ошибок и улучшениями для серий Joomla 4.0.x и 3.10.x.
JComments Fork 4.0.2
JComments продолжает развиваться для Joomla 4. Недавно была выпущена версия для Joomla 4 и теперь комментарии занимают отдельный репозиторий. Поддерживается PHP 8 и MySQL 8.
- 32 Ответов 4893 Просмотров
products)) <
?>
orderByList[‘orderby’]; ?>
orderByList[‘manufacturer’]; ?>
perRow;
$Browsecellwidth = ‘ width’.floor ( 100 / $BrowseProducts_per_row );
// Count products ?? why not just count ($this->products) ?? note by Max Milbers
$BrowseTotalProducts = 0;
foreach ( $this->products as $product ) <
$BrowseTotalProducts ++;
>
// Start the Output
foreach ( $this->products as $product ) <
// Show the horizontal seperator
if ($iBrowseCol == 1 && $iBrowseProduct > $BrowseProducts_per_row)
show_prices == ‘1’) <
if( $product->product_unit && VmConfig::get(‘vm_price_show_packaging_pricelabel’))
//todo add config settings
if( $this->showBasePrice) <
echo $this->currency->createPriceDiv(‘basePrice’,’COM_VIRTUEMART_PRODUCT_BASEPRICE’,$product->prices);
echo $this->currency->createPriceDiv(‘basePriceVariant’,’COM_VIRTUEMART_PRODUCT_BASEPRICE_VARIANT’,$product->prices);
>
echo $this->currency->createPriceDiv(‘variantModification’,’COM_VIRTUEMART_PRODUCT_VARIANT_MOD’,$product->prices);
echo $this->currency->createPriceDiv(‘basePriceWithTax’,’COM_VIRTUEMART_PRODUCT_BASEPRICE_WITHTAX’,$product->prices);
echo $this->currency->createPriceDiv(‘discountedPriceWithoutTax’,’COM_VIRTUEMART_PRODUCT_DISCOUNTED_PRICE’,$product->prices);
echo $this->currency->createPriceDiv(‘salesPriceWithDiscount’,’COM_VIRTUEMART_PRODUCT_SALESPRICE_WITH_DISCOUNT’,$product->prices);
echo $this->currency->createPriceDiv(‘salesPrice’,’COM_VIRTUEMART_PRODUCT_SALESPRICE’,$product->prices);
echo $this->currency->createPriceDiv(‘priceWithoutTax’,’COM_VIRTUEMART_PRODUCT_SALESPRICE_WITHOUT_TAX’,$product->prices);
echo $this->currency->createPriceDiv(‘discountAmount’,’COM_VIRTUEMART_PRODUCT_DISCOUNT_AMOUNT’,$product->prices);
echo $this->currency->createPriceDiv(‘taxAmount’,’COM_VIRTUEMART_PRODUCT_TAX_AMOUNT’,$product->prices);
> ?>
products as $product )
// Do we need a final closing row tag?
if ($iBrowseCol != 1) < ?>
Источник
Настраиваемые поля virtuemart 3: Мультивариант/Дочерние товары (часть 6)
Мультивариант (Multi Variant) — специальный тип настраиваемого поля virtuemart, который позволяет не просто добавлять к товару опции, которые влияют на стоимость, но и создавать сложные зависимости между ними и вести учет остатков товаров с разными наборами опций.
Простой пример. В магазине продается смартфон 3 цветов: белый, черный и розовый. Для белого и черного есть варианты с 32Gb и 64Gb памяти, а вот розовый доступен только в комплектации с 64Gb.
По сути это один и тот же товар, нужно только настроить, чтобы в карточке пользователь не смог выбрать вариант, которого не предусмотрено или просто нет в наличии.
Используя стандартное настраиваемое поле с типом Строка мы не сможем настроить зависимость между цветом товара и объемом памяти. Кроме настройки зависимостей было бы неплохо вести учет остатков, чтобы автоматически добавлять/убирать разные варианты товара.
Все эти задачи в virtuemart решаются с помощью дочерних товаров и настраиваемого поля Мультивариант.
Дочерние товары — это вариации основного товара, которые чем-то от него отличаются. Например, размером, цветом, шириной и т.д.
На примере со смартфоном разберем, как создаются дочерние товары и зависимости между различными опциями.
Создание дочерних товаров
Дочерние товары можно создать разными путями.
1 вариант
В списке всех товаров выбираем нужный товар и нажимаем кнопку Дочерний товар.
2 вариант
Внутри товара во вкладке Информация через кнопку Добавить дочерний товар.
3 вариант
При добавлении настраиваемого поля с типом Мультивариант к товару появляется возможность создать дочерний товар в 1 клик и сразу задать для него нужные опции. Это очень удобно, если не нужно изменять названия товара, количество на складе и другие характеристики.
Но при этом способе создания возникают некоторые проблемы. В частности, если дочерних товаров не создано совсем, то при создании первого может появиться «фантомный» товар scalar.
C чем связана эта ошибка пока неясно. Возможно, в следующих версиях vm ее устранят, но в vm 3.0.18 такая проблема есть, поэтому лучше предварительно создать хотя бы один дочерний товар 1-м или 2-м способом и только после этого использовать 3-й способ.
При создании дочерних товаров не нужно дублировать всю информацию (описание, изображение и т.д.) из родительского товара. Достаточно указать артикул, остаток и изменить название (если нужно). Цену можно будет задать позднее при добавлении настраиваемого поля Мультивариант.
Для нашей задачи создадим 5 дочерних товаров с одинаковым названием (при желании в название каждого товара можно добавить информацию о цвете и объеме памяти).
После создания дочерних товаров в карточке родительского появится новая вкладка Дочерние товары.
Настраиваемое поле Мультивариант
В менеджере настраиваемых полей создадим новое настраиваемое поле с настройками, как на скриншоте.
Все настройки за исключением блока Дополнительные параметры аналогичны другим настраиваемым полям и были рассмотрены в предыдущих статьях по работе с полями.
В блоке Дополнительные параметры полезно активировать опцию Use canonical link of the parent, чтобы в дочерних товарах в качестве канонической ссылки использовался адрес родительского товара. Опция Show labels отвечает за показ ярлыков (названий параметров).
Далее перейдем в карточку товара и во вкладке Настраиваемые поля добавим поле Цвет и объем памяти.
Загрузится на первый взгляд непонятная конструкция из дочерних товаров и каких-то дополнительных полей.
Но все не так сложно, как кажется на первый взгляд
Для начала создадим 2 параметра (Цвет и Объем памяти), по которым каждый вариант будет отличаться друг от друга. Для этого в верхней части поля выберем Использовать произвольный ярлык, зададим название Цвет и списком перечислим все доступные цвета. После этого обязательно нужно сохранить товар.
Далее создадим второй параметр Объем памяти. Снова выбираем использовать произвольный ярлык, задаем название и нажимаем кнопку Новое.
В появившемся поле также перечисляем список возможных вариантов и сохраняем товар.
После этих нехитрых манипуляций все становится на свои места. Теперь для каждого дочернего товара можно выбрать набор доступных параметров.
Телефоны черного и белого цветов имеют варианты с 32Gb и 64Gb, а розовый может комплектоваться только 64Gb.
На сайте это будет выглядеть следующим образом.
Товар нельзя купить пока не будет выбран хотя бы один вариант. Так происходит, потому что у родительского товара в настройках не выбраны параметры цвета и объема памяти. Если эти параметры задать, то в родительском товаре также будет доступна кнопка Купить.
Для выбора доступен только Цвет, потому что Объем памяти привязан к нему. Выбираем, например, Белый.
После этого можно выбрать 2 варианта памяти.
Если выберем Розовый, то вариант будет только один.
Все работает так, как и задумывалось.
Отмечу еще некоторые детали. В рассмотренном примере все варианты имели одинаковую стоимость. Задать стоимость в зависимости от набора параметров можно в отдельной колонке Цена. Величина стоимости задается в абсолютном значении, а не в относительном, как для других настраиваемых полей.
Чтобы созданные дочерние товары не выводились в модулях и поиске в Virtuemart > Настройки > Внешний вид нужно отключить опцию Показывать дочерние товары без категорий в результатах поиска и модулях.
Дочерние товары и работа с ними, пожалуй, самое трудное для понимания в virtuemart. Надеюсь, что статья поможет быстро со всем разобраться и использовать на своем сайте.
Похожие статьи :
183 комментария
Просто огромнейшее спасибо за эту статью. Как я ее долго ждал 🙂
Спасибо, все отлично заработало и теперь можно смело подвязывать остатки к внешней базе с автоматическим обновлением через cron.
Подскажите такой нюанс, при выборе объема, перегружается страница сайта на новый урл, можно сделать как-то без перезагрузки страницы?
Спасибо!
admin
Рад,что статья оказалась полезной.
При использовании дочерних товаров они выводятся с уникальным url.
Можно настроить аякс обновление содержимого (Virtuemart > Настройки > Шаблоны опция Use ajax for product content), но в этом случае могут неправильно работать сторонние плагины, например, zoom изображений.
Руслан
А как побороть конфликт с zoom изображений при включенной опции Use ajax for product content подскажите пожалуйста? Для меня это стало камнем преткновения!
admin
К сожалению, пока нет решения.
Konstantin99
Как думаете, почему разработчики не дают сразу менять количество дочерних товаров при редактировании родительского ? Приходится заходить в каждый дочерний и править там.
admin
Трудно сказать, возможно, в будущем добавят.
Назар
Добрый день! Подскажите пожалуйста, можно ли вывести выбор цвета не списком , а изображениями, чтобы все также работало, но был не выпадающий список , а изображения (как тут http://iphonepiter.ru/shop/apple_iphone_7_128gb_rose_gold )
admin
Посмотрите в этой статье.
Роман
Добрый день.
Подскажите, что может быть, сделал как в вашей статье, но при выборе варианта (цвет) не происходит смена цены и изначально цена стоит главного товара, а не как в вашей статье, сначала выбор — потом цена.
admin
Здравствуйте!
Скорее всего, дело в используемом шаблоне.
Попробуйте для теста сменить на другой шаблон, если заработает, значит нужно будет искать проблему в шаблоне.
Роман
Странно, шаблон 2016 года, сразу с интегрированным virtuemart 3. Самое интересное что доп.поля, когда идет формула + к цене работает.
admin
Вы пробовали сменить на стандартный шаблон. В нем проблема сохраняется?
Роман
Поменял, все заработало :((((((( Надо искать спеца. который сможет исправить.
Роман
в стандартном шаблоне ссылка меняется на
computer/handbags/плита-днища-2-detail.html
в моем
/computer/handbags/150
может даже и не в шаблоне дело, может что то с настройками шаблона.
admin
Если шаблон платный, то попробуйте обратиться к разработчику.
Алексей
После перехода на vm 3.0.18 появились и фантомные товары и такая же проблема как и у Романа. До этого пол года все работало.
admin
Очистите кеш.
Попробуйте сменить шаблон на стандартный, если все будет работать правильно, то дело в шаблоне.
7Hogik
Спасибо все работает. Правда выбор характерестик добавился в «Недавно проссмотренные». Как их убрать оттуда?. Шаблон «Airshop»
У меня почему-то не работает кнопка + новое
Пробовала в разных браузерах, нажимаю на нее, ничего не происходит.
admin
Пришлите ссылку на страницу с проблемой.
Так это в админке же.
admin
В статье описано 3 варианта создания дочерних товаров, ни один из вариантов не работает?
Не работает добавление «Новое нежелательное последствие». Кнопка «добавить» не реагирует.
admin
В Система > Общие настройки > Сервер для опции Сообщения об ошибках выберите Максимум
Возможно, это поможет понять в чем проблема.
Если не поможет, то нужно обновлять joomla и virtuemart до последних версий.
Денис
Добрый вечер.
Подскажите пожалуйста, как можно правильно реализовать выбор товара.
Joomla! 3.4.8
VirtueMart 3.0.12
Стоит задача в заказе сделать «онлайн калькулятор» (заказчик при выборе определенных опций в результате получает продукт с выбранными им в процессе заказа свойствами). Для примера как это выглядит https://zakaz.wolf.ua/ru/calc/vizitki/
В начале выбирается «Продукт», потом «Количество сторон» печати, потом «Материал» на котором будет производится печать, «Покрытие» которым будет покрываться готовое изделие, «Срок изготовления» и только после этого ему остается сделать последний выбор — «Количество» (и сразу наглядно показана цена).
Конечно при помощи правки мультиварианта и настраиваемых полей это можно постараться сделать, но в таком случае мы получим 4*2*6*5*3*8=5760 дочерних товаров (чуть меньше, так как некоторых вариантов комбинаций параметров не предусмотрено). Но даже и половины от этого будет слишком много (у меня при добавлении 43 дочерних товаров с 3 параметрами просто данные не сохраняются — сбрасываться все что было заполнено ранее). Да и самих товаров должно быть не менее сотни в магазине, что умноженное на дочерние товары создаст большой объем.
Собственно вопрос — есть вариант как то упростить это? Возможен вариант продажи фиксированного количество готового изделия? Установить что товар может продаваться только по 500шт, 1000шт, 2000шт.
Спасибо!!
admin
Денис
Большое спасибо.
Но немного не то. Все эти расширения в корзину кладут несколько товаров, а мне необходимо что бы товар был один, но с несколькими опциями. Опции должны быть настраиваемыми как в мультиварианте («В магазине продается смартфон 3 цветов: белый, черный и розовый. Для белого и черного есть варианты с 32Gb и 64Gb памяти, а вот розовый доступен только в комплектации с 64Gb»), но без дочерних товаров (или с ними, но маленьким количеством).
admin
Нужно заказывать расширение на фриланс, что-то готовое вряд ли есть.
Источник