Последние темы


shopkeeper 3 - на странице товара не пересчитывает цену по курсу

  • @Andchir
    Ещё раз повторю проблему. Всё считает правильно. В корзине цена правильная. Неправильная только на странице товара. Цена не умножается на 2.5. (Возможно я не совсем понятно объясняю, прошу прощения)

    Вот это из инструкции shopkeeper. Сделал точно так же

    Если на сайте только одна валюта, но цены товаров указаны в другой валюте, нужно добавить в настройках системы параметр «shk3.currency_selected» (Пространство имен «shopkeeper3») со значением - номер валюты (от еденицы), в которую нужно переводить.
    Например, если у товаров указана цена в долларах, а нужно выводить в рублях:
    shk3.currency_default = 3 (USD)
    shk3.currency_selected = 1 (руб.)
    3 - номер валюты USD в списке курсов валют.
  • Я всё так и понял. Начинать надо как раз со страницы товара, а не с корзины. Я написал, что курсы у вас указаны не правильно. Если убрать все параметры, цена по курсу пересчитывается правильно?

    Цена не умножается на 2.5.

    Она и не должна умножаться, должна делиться. Читайте выше.

  • @Andchir
    Проверил. Убрал вариации. Если задать цену товара 26, то на странице пересчитывает по курсу и получается 65. В корзине тоже самое. Т.е. всё считает правильно. Вся проблема с выводом цены в этой строке

    <span class="shk-price">[[*price:shk_curr_rate:num_format]]</span>
    

    Если я укажу евро - 1, а рубль 0.44, то это тоже самое что 2.5 к 1. Так что математически нет смысла менять курс.
    Тем более я проверил, без вариаций всё считает правильно на двух страницах. Помогите 😩
    Может можно как-то эту строку через сниппет умножить на 2.5? Ведь в евро считает верно.

  • Если я укажу...

    Если вы не хотите делать так как вам советуют, то зачем просите помощи? Делайте сами.

    Ещё момент, умножение вроде должно работать, а вот сложение нет. Нужно проверить, чтобы среди параметров не было цен со сложением. Про сложение цен параметров с мультивалютностью где-то здесь на форуме есть тема.

  • @Andchir
    почему не хочу? Сделал как вы сказали. Я же написал, ничего не изменилось.
    Среди параметров нет сложения. Есть поле Price. В нем список параметров с ценами. d1==10||d2==20 и тд. А все остальные параметры только умножают.

    <span class="shk-price">[[*price:shk_curr_rate:num_format]]</span>
    

    Может есть способ как-то умножить это поле на 2.5?

  • почему не хочу? Сделал как вы сказали. Я же написал, ничего не изменилось.

    Где вы написали, что сделали как я сказал?

    Среди параметров нет сложения. Есть поле Price. В нем список параметров с ценами. d1==10||d2==20 и тд.

    Вы противоречите сами себе.

    Может есть способ как-то умножить это поле на 2.5?

    Есть. https://docs.modx.com/revolution/2.x/making-sites-with-modx/customizing-content/input-and-output-filters-(output-modifiers)

    [[*price:mpy=`2.5`]
    
  • @Andchir

    [[*price:mpy=`2.5`]
    

    выдаёт значение - 0.
    Я ещё раз прошу прощения если не так выразился. Но я попробовал сделать по вашему совету. Результата это не дало.
    И почему я себе противоречу? Поле Price называется диаметр. В нём можно выбрать диаметр к которому привязана соответствующая цена. Остальные параметры производят только умножение.
    0_1566906778443_6b50a656-f211-48b0-b721-d875908b32d0-image.png

  • И почему я себе противоречу? Поле Price называется диаметр.

    Потому что не важно как называется поле, если в его значении список значений, которые предполагается суммировать. Цена в любом случае должна быть не списком, а полем с одной цифрой. Если вам цифра не нужна, то можно поставить значение 0. Если не переводить валюту по курсу, то всё работает?

    При суммировании цена переводиться не будет т.к. для этого нужно все цены параметра переводить в шаблоне (чанке) этого списка.

    http://forum.modx-shopkeeper.ru/topic/1332/мультивалютность-param_edit-пересчет-доп-параметров-с-ценой-в-текущую-валюта/3

  • @Andchir
    Если не переводить по курсу, то всё работает.
    По поводу списка в поле price, то Вы правы. Задал одно значение и считает с учётом курса как надо.

  • @Andchir
    Большое спасибо. Главное что нашёл причину и сразу же нашёл решение. Возможно не самое правильное, но работает как нужно.
    В поле Price ввожу значение "1". Создал дополнительное поле диаметр. И вместо того чтобы складывать как было до этого, я умножаю на нужное число.
    К примеру: D=80==26.46||D=100==29.22 (было), D=80==*26.46||D=100==*29.22 (сделал).
    Поле price где единица я просто скрою.

 

Последние комментарии

  • но мне нужно что бы значения выводились через радиобаттоны

    В Параметрах вывода ТВ параметра можно выбрать - shk_radio.

    Читать далее
  • D

    Здравствуйте. Мне необходимо в карточке товаров вывести несколько разделов дополнительных параметров товара, допустим:

    Тип: - Значение 1 - Значение 2 Вес: - Значение 1 - Значение 2 - Значение 3 Высота: - Значение 1 - Значение 2

    вот как это должно выглядеть визуально:
    0_1573226359407_520be0de-f936-43ae-bf80-c75a16ae2270-image.png
    В документации есть раздел “Дополнительные параметры товаров” – пробую сделать через него.
    Делаю три параметра

    [[*param1:replace=`[[+id]]==[[*id]]`]] [[*param2:replace=`[[+id]]==[[*id]]`]] [[*param3:replace=`[[+id]]==[[*id]]`]]

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

    Читать далее
  • C

    Все спасибо, разобрался, спасибо за помощь! хорошего Вам дня!

    Читать далее
  • не обновляется цена на странице товара, при выборе опции с повышением цены

    Цена должна находиться внутри элемента с CSS классом "shk-price".

    <span class="shk-price">[[*price:shk_curr_rate:num_format]]</span>

    Так же посмотрите в консоли браузера нет ли JS ошибок на странице.

    При выводе в каталоге [[+tv.param]] получается так 33 см.==120||40 см.==200

    Каким сниппетом выводите товары? Если getProducts, то нужно включить параметр "processTVs" и имя TV вписать в параметр "processTVList".

    https://modx-shopkeeper.ru/docs/shopkeeper-3/snippet-getproducts

    Читать далее