Работа с ценами в VirtueMart 3 (часть 1)

Опубликовано: 5 Ноябрь, 2015
Обновлено: 18 Май, 2016
Категория: Настройка VirtueMart
Комментариев: 91

В этой серии статей я постараюсь рассмотреть все вопросы, которые могут возникнуть при работе с ценами в virtuemart 3.

В первой части рассмотрим самые базовые вещи при работе с ценами.

Настройка основной валюты магазина

Сразу после установки virtuemart нужно настроить основную валюту сайта.

Список всех доступных валют находится в Virtuemart > Настройки > Валюта. Для удобства деактивируем все валюты кроме Российского рубля.

ruble-setting

К настройкам валюты вернемся позднее, а пока в Virtuemart > Магазин > Магазин укажем основную валюту нашего магазина.

ruble-store

Дополнительные валюты можно добавить, кликнув на поле Список принимаемых валют.

Указание цены товара

При добавлении нового товара во вкладке Информация указываем его цену.

В поле Цена указывается основная цена. При сохранении остальные поля заполнятся автоматически.

основная цена

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

цена со скидкой

Настройка показа цен на сайте

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

показ цен

В большинстве случаев достаточно отображать 2 цены: основную цену товара  и цену со скидкой.

Как и в virtuemart 2 в virtuemart 3 пока нет возможности автоматически показывать только одну цену если у товара нет скидки. Т.е. в случае отсутствия скидки будет показано две одинаковых цены.

Для решения этой проблемы активируем показ цен как на скриншоте выше и в Virtuemart > Товары > Налоги и правила расчета  создадим новое правило Цена с НДС.

  • Вид расчета - НДС по каждому товару
  • Значение - 0

Остальные настройки можно оставить по умолчанию.

Данное правило будет автоматически применяться ко всем товарам и увеличивать их цену на 0 р.

ндс

После этого у товаров со скидкой будет показано 2 цены.

две-цены

Настройка параметров отображения цен

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

Изменить текст подписи можно в языковом файле /language/ru-RU/ru-RU.com_virtuemart.ini.

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

Более детальные настройки валюты доступны в Virtuemart > Настройки > Валюта.

детали-валюты

Здесь можно сменить символ валюты (добавление валютного знака рубля), задать разделители.

Для разделения тысяч пробелом в файле /administrator/components/com_virtuemart/helpers/currencydisplay.php замените

на

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

91 комментарий

    Cаша

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

      admin

      admin

      Не забыли создать новое правило в Virtuemart > Товары > Налоги и правила расчета?

    Андрей

    Добрый день!
    Как-то после последних обновлений (джумлы до 3,5,1 и Виртуемарта до 3,0,14) пропали корректные тексты подписей в карточках товара, но остались корректные в категориях, что может быть за беда?

      admin

      admin

      Зашел на сайт, подписи показываются.
      Проблема решена?

        Андрей

        К сожалению, пока нет. Подписи показывает, но не те 🙁 в категории то что надо, а в карточке товара нет:( Лучше видно в особых предложениях 🙁

          admin

          admin

          Чтобы подписи были одни и те же, нужно в категории и в карточке товара подключить вывод цены с помощью этого кода

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

            Андрей

            код из категории

            код из карточки товара

            вот вывод подписей в карточке товара вроде и так как должен быть, но не тот 🙁

            коды из ru-RU.com_virtuemart.ini

            admin

            admin

            Пришлите ссылку на скачивание файла категории и карточки товара.

            Андрей


            вотЪ

            admin

            admin

            В карточке товара цена подключена правильно

            Для категории пришлите файл /components/com_virtuemart/sublayouts/products.php.

            Андрей

            вот он и цсс вот вроде тоже что цена подключена правильно, а подписи не те что надо 🙁 Эти подписи как-то вообще ни в одном языковом файле виртуемарта не нашел. До обновления все было ок, после обновления в основном редактировал цсс

            admin

            admin

            Странно... подключается тот же файл.
            цена везде должна выводиться одинаковая
            возможно указанные файлы у вас дублируются в папке с шаблоном /templates/имя_шаблона/html/com_virtuemart/
            если такая папка есть, то нужно посмотреть еще в тех файлах.

            Андрей

            /templates/имя_шаблона/html/com_virtuemart/ в папке с шаблоном вообще нету папки com_virtuemart

            admin

            admin

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

    Максим

    Была такая-же херня, обнови язык отсюда http://virtuemart.net/community/translations/virtuemart/download/ru-RU пройдет

    Евгений

    Здравствуйте, подскажите пожалуйста как добавить отображение цены со скидкой на главной странице, в модулях новинка, рекомендуемые товары... Спасибо)

      admin

      admin

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

      Судя по сайту используется какой-то платный модуль для вывода товаров в слайдере.
      Чтобы в модуле показывались те же цены, что и в остальных частях сайта, в шаблоне вывода слайдера измените код вывода цен на
      echo shopFunctionsF::renderVmSubLayout('prices',array('product'=>$product,'currency'=>$currency));

    annyka

    Подскажите, пожалуйста. А как сделать, чтобы вместо 0 руб. (а лучше, если цена до 1 рубля, поскольку в virtuemart какие-то десятые надо выставлять, чтобы цена вообще появилась, иначе вылезет вопрос типа уточнить цену) - Выводилась фраза "бесплатно". Как прописать такое условие?

      admin

      admin

      Попробуйте в файле /components/com_virtuemart/sublayouts/prices.php заменить

      на

        annyka

        У меня там код такой:

          annyka

          Обрезается почему-то код.... полностью не вставляется на сайт

          Вот первая часть, начало :

    annyka

    Спасибо большое, Владимир!
    Ваш способ использовала

    РЕШЕНИЕ:

    СТРОКИ

    МЕНЯЕМ НА

    А СТРОКИ

    Таким образом у нас вместо нуля выводится бесплатно

      admin

      admin

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

    annyka

    Да, простите, засорила Вам ленту :)))

    Только вот опять код неверно вставился в решении 🙁 Вот правильный, не знаю, отобразится ли сейчас... Но попробую так еще. Выставила условие меньше

    НА

    И МЕНЯЕМ

    НА

    Тоже самое можно проделать с файлом, который категории выводит

    Станислав

    Здравствуйте! А возможно ли убрать вторую (зачёркнутую) цену, если скидки нет?

      admin

      admin

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

      Если Вы сделали вывод 2 цен как в этой статье, то дублирования цен быть не должно. Вы создали дополнительное правило в Налогах и правилах расчета?

        Xamant

        Действительно, сделал по этой статье, но все равно две одинаковых цены. Одна перечеркнута.

          admin

          admin

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

            Xamant

            Спасибо, но не хочется вас напрягать 🙂

            Победить показ двух цен помогает включение в карточке товара опции " Переписать окончательно", но это приходится делать в каждом товаре, а их может быть и несколько тысяч. Пока не нашел решения как применить эту опцию сразу ко всем товарам.

            admin

            admin

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

    Андрей

    Если на товар есть скидка,то при выборе значения из доп. полей цена не изменяется. Как побороть?

    Андрей

    Нашел решение во второй части вашей статьи, спасибо :).

      admin

      admin

      Отлично)

    юлия

    Добрый день. Помогите чайнику, как удалить совсем слова Цена , чтобы отображались только цифры. ??? Виртмарт 3 стоит. Огромное спасибо!

      admin

      admin

      Virtuemart > Настройки > Формирование цен отключите галочки в столбце Показывать подпись.

        юлия

        А вот у меня нет такого столбца Показывать подпись. VirtueMart 3.0.18...Вот что есть:
        Настройки цены
        Показать налог в корзине
        Показывать 'Позвоните, чтобы узнать цену',
        если цена отсуствует
        Использовать 'Rappenrundung for Swiss CHF'
        Отображать только округленное
        Показать цены комбинации с налогом

        Как быть? помогите)

          admin

          admin

          Что-то быть все равно должно. Отключить все галочки в этом столбце. Если нет, то пришлите скрин.

    юлия

    СПАСИБО ОГРОМНОЕ ВСЕ ПОЛУЧИЛОСЬ!!!!

      admin

      admin

      Отлично.

    юлия

    Добрый вечер! Помогите разобраться хочу сделать свое оформление цены именно в карточке товара, начинаю править css получается что смена стиля происходит как в самой карточке товара так и в категории товаров, мне нужно чтобы менялось только оформление в карточке? какой файл css нужно править, может кто сталкивался с подобным...спасибо!

      admin

      admin

      Здравствуйте!
      Вместо, например,

      используйте

      Если не получится, то создайте тему на форуме с указанием ссылки на сайт, разберемся.

    сергей

    Здравствуйте. У меня на сайте цена указана в настройках весь де в рублях, доллары отключены. Так почему, когда устанавливаешь цену, то вылазит Основная цена - USD??? То есть первая строка цена в рублях, а вторая Основная цена в долларах. И на сайте соответственно в usd показывает. В чем причина?

      admin

      admin

      Здравствуйте!
      В Virtuemart > Магазин > Магазин в поле Список принимаемых валют только рубль?

    Дмитрий

    Добрый день, помогите пжл разобраться, цена к товарам на сайте отображается корректно, а в админке стоит цена "0", в чем может быть проблема? VirtueMart 3.2.2

      admin

      admin

      Здравствуйте!
      После чего появилась проблема?
      Если после обновления, то попробуйте обновиться до vm 3.2.3

        Дмитрий

        При первичной настройке...

          admin

          admin

          Пробовали обновиться?

          admin

          admin

          Проблема решилась установкой в настройках валюты в поле Десятичные - 0

    m1h3y

    Здравствуйте. Цена в админке везде в рублях, а на странице сайта выводится в $
    при чем конвертирует по определенному курсу 57,2
    уже голову сломал как это побороть

      admin

      admin

      Здравствуйте!
      Какая валюта выбрана в Virtuemart > Магазин > Магазин?

        m1h3y

        http://joxi.ru/krDRVkjT0LGXg2

          admin

          admin

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

    Полина

    Скажите пожалуйста, а если в Virtuemart 3 у цен не показываются подписи, хотя в Формировании цен галочки Показывать подпись стоят?

      admin

      admin

      Возможно, они скрыты через css. Пришлите ссылку на сайт.

        Полина

        Да, скрыты, но как их открыть не знаю, начинающий пока в этом деле
        https://lotbankrot.ru/vse-loty/property/land/zemelnyj-uchastok-2c-obshchej-ploshchadyu-118-238-kv-m-detail

          admin

          admin

          У Ваш шаблон LikeShop, пожалуйста, задайте вопрос в теме по поддержке шаблона.

    Игорь

    Здравствуйте, у меня такая проблема: Основная цена это закупочная цена соответственно делаю наценку через правила. И в товаре на сайте всё выглядит как надо. НО в письме с заказом клиент видит в итоге в поле Цена - основную цену(то есть закупочную), а в поле Итого: окончательную цену с наценкой. Как сделать так что бы в поле Цена в письме с заказом была сразу Итоговая цена с наценкой, а не закупочная.

      admin

      admin

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

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

    yvd

    Здравствуйте!
    У меня цена в карточке товара Virtuemart 3 выводится одна. В настройках формирования цен галочка стоит только напротив поля "Окончательная цена" и
    "Показывать подпись". На сайте можно посмотреть здесь: http://kupimkabel.com.ua
    Все необходимые подписи легко меняются в файлах ru-RU. Но вот слово "Цена" в карточке товара стоит без двоеточия. Её можно и вовсе убрать, но тут дело принципа. Я все файлы ru-RU где упоминается в названиях "virtuemart" уже наизусть выучил, и ко всем словам "Цена" без разбора добил двоеточие, а оно там не появляется. Если можно подскажите куда еще заглянуть?

      admin

      admin

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

      Судя по сайту проблема с двоеточием решена?

    yvd

    Здравствуйте!
    Не получилось вовремя отреагировать, отвечу сейчас. Везде у цен появилось двоеточие, даже у подписи столбика таблицы корзины. Именно в карточке товара где слово "Цена" написана синим жирным шрифтом двоеточие не появляется хоть убей. Файлы ru-RU проверил уже сто раз. Нигде слово "Цена" не осталось без двоеточия. На этой странице нет поля для вставки скриншота, но проверить это можно перейдя по ссылке: http://kupimkabel.com.ua и зайдя в любую карточку товара. Я просто в РНР не силен, именно по его коду происходит что нибудь, либо нет, а по HTML там не разобраться.
    И еще не пойму почему Вы написали: "Судя по сайту проблема с двоеточием решена?", неужели у Вас может отображаться что либо по другому чем у меня. Может это связанно с типом браузера? но такого по идее быть не должно. CSS свойства в разных браузерах отображаются по разному, но двоеточие это же константа?

      admin

      admin

      Я не заходил в карточку, поэтому и подумал, что проблема решена. Чтобы понять причину нужно смотреть на сайт. Обратитесь на фриланс или пришлите доступы к админе и ftp на admin@virtuemart.su

    MikeJG

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

    Может что то делаю не так?

    MikeJG

    Сам нашел: В настройках цены товара надо выбрать для расчета правило, в котором установлен расчет НДС по каждому товару, тогда все цены выводятся как надо

      admin

      admin

      Хорошо.

    Andrii

    Цена со скидкой отображается нелогичным образом.
    Основная цена — обычный размер цифр,
    а со скидкой — меленткий, да ещё и перечёркнуто
    https://i.imgur.com/eb7snod.png

    Формирование цен
    https://i.imgur.com/I3nuZpQ.png

      admin

      admin

      Скидки задаются через налоги и правила расчета? Если да, то пришлите еще скрин настроек правила расчета и скрин настроек цен для товара.

        Andrii

        Скидка задана через карточку товара.
        https://i.imgur.com/8vu9wXw.png
        https://i.imgur.com/fiSeQT8.png

        после того, как я поигрался с формированием цен на сайте стало вылезать 2 цены
        https://alfagravity.net/snaryazhenie.html

          admin

          admin

          В Налогах и правилах расчета создайте и опубликуйте правило Цена с НДС, как описано в статье. В настройках цен отключите показ первой цены.

    Andrii

    Тогда получается вот такое неприятное отображение
    https://alfagravity.net/snaryazhenie.html

        admin

        admin

        Проблема и в стилях и, скорее всего, в коде вывода самих цен. Разбираться нужно непосредственно на сайте. Обратитесь на фриланс или напишите на admin@virtuemart.su, что-нибудь придумаем.

          Andrii

          Благодарю. уже обратился к фрилансеру.

    vskuchmak

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

      admin

      admin

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

      Раньше в настройках валюты нельзя было вставить пробел в качестве разделителя. Данная возможность появилась только в vm 3.0.18 если не изменяет память.

    Vliv

    Здравствуйте!
    У меня вот такая проблема. Все цены отображаются нормально, а вот на планшетах и мобильных не отображается цена до скидки, т.е. только окончательная, а нужно чтобы отображалось обе, зачеркнутая и новая, как на десктопе.
    http://www.center-sps.ru/tovary-so-skidkoj
    Не пойму где копать..

      admin

      admin

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

      Потестировал на смартфоне, в категории все цены видны.
      В карточке товара есть проблема - показывается только окончательная цена без базовой. Скорее всего, вывод цен для карточки жестко прописан в самом шаблоне. Пришлите архив с файлом /templates/имя_шаблона/html/com_virtuemart/productdetails/default.php

        Vliv

        Спасибо, файл отправил на admin@virtuemart.su

    Ejov

    Добрый день! Не появилось ли решения, чтобы при назначении скидки через налоги и правила расчетов на категорию товаров или товары производителя автоматически перечеркивалась старая цена и показывалась новая?

      admin

      admin

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

      Две цены в категории выводятся? Если нет, то в настройках показа цен активируйте показ Цена и Окончательная цена.
      В файле /components/com_virtuemart/sublayouts/prices.php замените

      на

      В файле стилей добавьте

      Если это не поможет, то пришлите ссылку на страницу с проблемой.

    Ejov

    Я не правильно сформулировал - цены выводятся нормально и старая перечеркнутая и новая, если скидку ставить в самом товаре. А если я задаю скидку через налоги и правила расчетов на категорию или все товары производителя, тогда выводиться только одна цена - со скидкой, а старой перечеркнутой цены нет. Вопрос в том, есть ли решение, чтобы при указании скидки на целую категорию или несколько категорий, через налоги и правила расчетов, автоматом старая цена у товаров перечеркивалась. Просто заходить в каждый товар и ставить чекбокс override очень долго.

      admin

      admin

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

    Ejov

    Спасибо огромное! Все получилось!

      admin

      admin

      Хорошо.

    mosmetservis

    Помогите, пожалуйста! Часть товаров должна иметь цену в руб., а часть в руб/м3.
    Валюту сделал, сделал активной. Всё равно выводится цена в руб.
    Где ещё поискать?
    https://pilorama-33.ru/doski.html

      admin

      admin

      Здравствуйте!
      Пожалуйста, задайте вопрос на форуме поддержки покупателей шаблона, разберемся.

    Михаил

    Здравствуйте! Не получается исправить текст на сайте в одном месте, уже языковые файлы просмотрел, константу не нашел. Вот на этой странице https://камешки-колечки.рф/garnitur/garnitury-a075/A075a2-detail хочу убрать "Базовая цена с НДС" и вместо нее написать "Старая цена". Вот здесь всё получилось https://камешки-колечки.рф/garnitur/garnitury-a460, а внутри товаров не получается.

      admin

      admin

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

      Попробуйте исправить языковую константу

      Если не получится, то, вероятно, цена выводится напрямую в шаблоне карточки товара.

    Михаил

    Вот здесь я уже делал перевод COM_VIRTUEMART_PRODUCT_BASEPRICE_WITHTAX="Старая цена:" в файле language/ru-RU/ru-RU.com_virtuemart.ini
    В категориях это сработало, а вот в карточке товара выдает "Базовая цена с НДС". В файлах перевода я не нашел откуда virtue mart берет это название. То есть мне нужно поменять только перевод текста, а где это сделать - не знаю.

      admin

      admin

      В Расширения > Менеджер языков > Переопределение констант добавьте новую константу

    Михаил

    Спасибо, помогло. Оказалось, что если просто сделать перевод, то исправляется только в одном месте. А если сделать переопределение константы, то исправляется перевод в двух местах.

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

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

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

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

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

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

×