Настройка оптовой и розничной цены в VirtueMart 3

Опубликовано: 16 Январь, 2018
Обновлено: 18 Январь, 2018
Категория: Настройка VirtueMart
Комментариев: 48

В статье про работу с ценами в virtuemart уже обсуждался вопрос настройки отдельных цен для оптовых покупателей. В этой статье рассмотрим этот вопрос детально с различными дополнительными примерами.

Начнем с создания в Virtuemart > Заказы и покупатели > Группы покупателей новой группы Оптовики.

Можно активировать опцию Включить отображение специальной цены группы покупателей если нужно изменить стандартные настройки показа цен.

Мы не будем активировать эту опцию.

Доступно 2 варианта назначения специальной цены для вновь созданной группы:

  • вручную
  • автоматически с помощью правила в Налогах и правилах расчета

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

Для автоматизации можно просто добавить дополнительную скидку на все товары для оптовиков, создав в Virtuemart > Товары > Налоги и правила расчета новое правило с дополнительной скидкой.

В Virtuemart > Заказы и покупатели меняем группу для нужного покупателя, и цена на сайте автоматически будет меняться, если пользователь залогинен.

Но что если нам нужно одновременно показать и розничную и оптовую цену? По умолчанию в virtuemart нет этой опции. Для примера выведем в карточке товара для незарегистрированных покупателей дополнительно оптовую цену,  а для оптовых покупателей - розничную цену. В файле /components/com_virtuemart/views/productdetails/tmpl/default.php сразу после вывода кода с ценой

вставим

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

В результате незарегистрированный пользователь сможет увидеть оптовую цену.

А оптовик будет видеть дополнительно розничную цену.

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

При выборе 10 и более позиций цена автоматически будет меняться.

Для вывода информации о цене со скидкой при заказе определенного количества товаров можно использовать этот код.

В результате получим следующее.

Думаю, что с добавлением стилей к новому блоку с ценой проблем не возникнет, поэтому не буду останавливаться на этом вопросе отдельно.

А на этом все, надеюсь, что статья поможет в вашей работе.

48 комментариев

    Tobi

    Спасибо за статью, как раз думал что-то делать. Реализую отпишусь! Спасибо!

      admin

      admin

      Рад, что статья пригодилась.

    Валерий

    Нет ли статьи про дробное количество в связке с OPC?

      admin

      admin

      На эту тему на блоге статьи нет. Создайте тему на форуме.

    Виталий

    Добрый день. На сайте стоит конвертер валют, если обе цены указанны в долларах, то оптовая отображается в долларах и не конвертируется.
    Это происходит в функции "При заказе от n* шт"

      admin

      admin

      Здравствуйте!

      Если курс задан вручную, то добавьте перерасчет, заменив

      на

      Если курс берется автоматически, то попробуйте использовать такой код

        Виталий

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

          admin

          admin

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

    yrygvay

    Огромное спасибо за статью.
    Как раз есть необходимость выводить несколько цен для не авторизованных пользователей.

      admin

      admin

      Рад, что статья пригодилась в работе.

    Руслан

    Владимир, пишет Вам постоянный ваш покупатель) Тема просто в тему) Единственное не могли б вы сказать как добавить всё это аналогично в категорию товаров. Спасибо.

      admin

      admin

      Здравствуйте!

      Для вывода информации в категории можно использовать тот же код, только нужно заменить

      на

      и заменить

      на

      Если возникнет трудность при работе с шаблоном, купленным на этом сайте, то создайте тему на форуме поддержки шаблона, разберемся.

    Lav61

    Спасибо, статья очень познавательна....

      admin

      admin

      Рад, что статья пригодилась.

    Эльдар

    Marinad

    Владимир, спасибо вам огромное за вашу работу, шаблон airshop и эту статью, ваш шаблон сэкономил мне кучу денег, а эта статья дополнительно сберегла мой кошелек! Спасибо ещё, жду появления нового, классного и современного шаблона, сразу куплю. Трендшоп не очень понравился, точнее не подходит.

      admin

      admin

      Спасибо, рад, что сайт помогает в работе.

        Эльдар

        Marinad

        Владимир, с вами я совсем обленился) Скажите, как сделать так, чтобы при наведении мышки на надпись оптовая цена выплывало маленькое окошко с инфой. Обычно оформляют это знаком вопроса в кружочке рядом с текстом для понятности. Чтобы человек сразу мог видеть условия или ссылку на условия
        И второй вопрос. Мы добавляем вторую цену на товар не математическим способом. У меня это делает скрипт. Категорию покупателей для этой цены мне нужно вручную зайти проставить? Или есть более простой способ. Понимаю, что скрипт должен делать это, но вдруг есть штатная возможность.

          admin

          admin

          Если у Вас шаблон AirShop, пожалуйста, задайте вопрос на в его форуме, проблему решим.

            Эльдар

            Marinad

            Готовченский)

    KSENIYA

    Здравствуйте!
    Такой вопрос, оптовый сайт , одежда продается ростовкой, в карточке товара указана цена за единицу, минимальный заказ количество позиций в ростовке (в каждом товаре разное количество)
    Как сделать что при добавлении количества прибавлялось количество которое указано для минимального заказа и также отнималось, например не +1 , а +4 или +7

    Возможность более лучше решение?

      admin

      admin

      Не понял вопрос. Если есть сайт где эта логика уже реализована, то пришлите ссылку.

    Юрий

    Добрый день! Подскажите, пожалуйста, как можно настроить скидку на товары в зависимости от количества в Virtuemart 3, если товар имеет разные размеры или цвет? Например, скидка при заказе от 5 штук товара одного наименования, но эти 5 штук товара могут быть разных размеров или цвета.

      admin

      admin

      Здравствуйте!

      Вы имеете ввиду, что скидка должна назначаться автоматически в корзине если добавлено определенное количество дочерних товаров от одного родительского?
      Или она должна работать в карточке?

        matstar

        Здравствуйте!
        У меня тот же самый вопрос.
        Не дочерних, а просто разных товаров как например реализовано на этом сайте:
        https://www.arizzo.com.ua/catalog/product/bryuki-rior-bordo.html
        Оптовая цена автоматически применяется в корзине от 5 штук не зависимо от того какой товар и какого размера туда положили.

          admin

          admin

          Здравствуйте!

          Нужно использовать сторонние плагины, стандартными средствами не реализовать.
          Посмотрите этот плагин, возможно, подойдет.

            matstar

            К сожалению, этот плагин рассчитывает в зависимости о суммы товара, а надо от количества.

            admin

            admin

            На оф.форуме в похожей теме рекомендуют использовать awo coupon. Видимо, отдельного плагина для скидки в зависимости от количества товаров в корзине нет.
            Как вариант, можно обратиться на фриланс для разработки подобного плагина под заказ.

    Dimz77

    Доброго времени суток.
    Сделал, всё как указано в статье - почему-то не отображает две цены.

      admin

      admin

      Здравствуйте!

      Пришлите скрин настроек цен, скрин товара в админке и ссылку на сам товар.

    juicy

    Настроил оптовую скидку 3%, товар стоит 15 руб, цена со скидкой получается 14,55 руб, мне нужно, чтобы копейки округлялись в большую сторону. Подскажите в каком файле формируются цены со скидкой? Задача, чтобы в корзине при выборе 100 товаров отображалось 1500 руб, а не 1455.

      admin

      admin

      Округление идет в большую сторону если в настройках валюты в поле Десятичные указать 0 и в Virtuemart > Настройки > Формирование цен в поле Округлить также указать 0.

        juicy

        да, 14.55 округляется до 15 руб в карточке товара, но если заказать 100 штук, то общая стоимость 1455, а нужно 1500.

          admin

          admin

          Тогда получается нелогично, смысл скидки в 3% процента пропадает. Как вариант, можно выводить копейки, чтобы все было более наглядно, либо увеличивать процент скидки для округления в меньшую сторону.
          Как сделать именно под Вашу задачу, к сожалению, не смогу подсказать.

            juicy

            Спасибо за помощь, решил округлением в файле docs/administrator/components/com_virtuemart/helpers/calculationh.php
            строка примерно 1606.
            Было:
            $calculated = $price * $value / 100.0;
            Стало:
            $calculated = floor($price * $value / 100.0);

            admin

            admin

            Спасибо, что поделились решением.

          admin

          admin

          Еще одна тема по округлению цены.

    DaN

    DaN

    Спасибо, статья как раз вовремя попалась на глаза.
    Подскажите использовал самый нижний вариант статьи

    Подскажите пожалуйста, Нужно добавить таким же способом надпись "Обычная цена"

      admin

      admin

      Попробуйте в Virtuemart > Настройки > Формирование цен для нужной цены активировать Показывать подпись. Изменить текст подписи можно в Расширения > Менеджер языков > Переопределение констант, создав новую языковую константу и с помощью поиска отыскав нужный текст. Если не получится, то пришлите ссылку на страницу с проблемой.

    DaN

    DaN

    Все отлично получилось, еще вопрос по теме
    Как это же реализовать (самый нижний код статьи) в слайдере товаров "mod_virtuemart_product_slider"?

      admin

      admin

      Для слайдера правки нужно вносить в файл /modules/mod_virtuemart_product_slider/tmpl/default.php (либо в переопределенный файл /templates/имя_шаблона/html/mod_virtuemart_product_slider/default.php).

      Цена выводится кодом

      Если не получится, то нужно смотреть непосредственно на сайте. Пришлите доступ к админке и ftp на admin@virtuemart.su, будем разбираться.

        DaN

        DaN

        Цена выводится, это было сделано, Но хочется добавить и вторую цену по этому примеру

          admin

          admin

          Используйте этот код

          Этот же код подойдет при выводе информации в стандартном модуле virtuemart.

    DaN

    DaN

    Спасибо, код подошел

      admin

      admin

      Хорошо.

    evgenn1

    Подскажите пожалуйста (шаблон LikeShop)
    Из 1с выгружаются на сайт товары по оптовой цене
    Как сделать, чтобы пользователь из определенной группы (например "Оптовики", с одобренной регистрацией) видел оптовые цены, а все остальные с накруткой 30%
    Спасибо

      admin

      admin

      Здравствуйте!

      В Virtuemart > Товары > Налоги и правила расчета создайте новой правило с типом Наценка и укажите нужную группу пользователей. В Вашем случае это будет Группа гостевых покупателей.

        evgenn1

        спасибо

    seomnium

    Подскажите пожалуйста один момент, нужно загрузить оптовые цены массово, как это можно сделать к примеру с помощью компонента CSVI improved или если с помощью парсера парсить цены из файла, куда парсеру нужно записывать новую цену в базу, так как вручную 11 тыс товаров довольно проблематично прописывать вручную да и цены обновляются

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*
Для вставки кода заключите его в теги [php] [/php]
*

С 15-18 июня admin в отпуске.

Ответы на все вопросы и ссылки на товары будут присланы 19 июня.

Спасибо за понимание и хороших выходных.

×