minishop2 как вывести в итоговой сумме сумму без учета скидки? или общую сумму скидки?

minishop2 как вывести в итоговой сумме сумму без учета скидки? или общую сумму скидки?

то есть как для товара выводится ок
<td class="price">
                            <span>{$product.price}</span> {'ms2_frontend_currency' | lexicon}                           
                            {if $product.old_price?}
                            <span class="old_price">{$product.old_price} {'ms2_frontend_currency' | lexicon}</span>
                            {/if}                            
                        </td>
а как для всего заказа аналогично?

<th class="total_cost">
                        <span class="ms2_total_cost">{$total.cost}</span> {'ms2_frontend_currency' | lexicon}
...???
                       
                    </th>
Евгений
20 сентября 2020, 23:56
modx.pro
1 389
0

Комментарии: 14

Евгений
21 сентября 2020, 14:43
0
есть какие то варианты как вывести пользователю общую сумму скидки?
    Александр Мельник
    21 сентября 2020, 15:00
    0
    мне кажется сначала вам нужно пояснить, что такое — скидка?
    Насколько я знаю в терминологии минишопа такого термина не существует.
    Если вы используете для создания скидок на товары какой-то сторонний или самописный функционал, то отталкиваться нужно от него.
      Евгений
      21 сентября 2020, 18:30
      0
      в минишоп есть price и oldprice
      собственно как например получить чтото типа total с oldprice
      и возможно ли получить «total_cost — total_oldprice» то есть разницу в цене со скидкой (сумма скидки)

      хотелось бы вывести в корзине строку типа: Итого: 1500 1400 рублей. Ваша экономия — 100 рублей
        Александр Мельник
        21 сентября 2020, 19:17
        0
        Одним щелчком пальцев — нет нельзя.
        docs.modx.pro/komponentyi/minishop2/snippetyi/mscart
        Вот тут можно почитать, что на страницу оформления заказа передаются две переменные total и products и какие данные в них лежат. Скидки там нет.
        Но если вам нужно, то вы можете посчитать ее сами, ведь массив products у вас есть, соответственно идентификаторы всех товаров заказа есть, по ним можете получить для каждого цену основную. Умножить на количество каждого товара и найти сколько бы стоил заказ без скидки.
        Но это самое примитивное решение и у него есть минус — при динамическом изменении товаров в корзине (количества товаров или же удаление товара) это стоимость без скидки пересчитывать не будет.
          Евгений
          21 сентября 2020, 19:36
          0
          да, вот это печалька что налету не срабатывает
          жаль что такого обыденного функционала в скрипте магазина нет :(
      Михаил
      22 сентября 2020, 07:19
      +1
      На самом деле все просто. Просто прочитать документацию и расширить класс корзины тыц
        Иван Бочкарев
        22 сентября 2020, 07:48
        0
        Но мы можем добавить это уже в функционал.
          Валерий
          20 апреля 2021, 16:09
          0
          Насколько я понимаю, данный функционал так и не был добавлен, верно?
          Просто, чтобы не изобретать велосипед спрашиваю.
            Николай Савин
            20 апреля 2021, 16:17
            +2
            Нет, вы понимаете неправильно,
            Задача реализована, функционал добавлен и доступен из коробки.
            В корзине в каждой строке есть discount_price и discount_cost
            А также есть общий множитель discount
              Валерий
              20 апреля 2021, 16:44
              0
              Это чудесно, спасибо!
              В чанках после обновления не нашел, потому и спросил.

              Все прекрасно работает :)
                Николай Савин
                20 апреля 2021, 16:51
                +1
                В минишопе чанки по умолчанию не обновляются. Только если специальные чекбоксы отметите.
                Вы всегда можете найти свежие версии чанков в разделе
                core/components/minishop2/elements/chunks/
                  Валерий
                  21 апреля 2021, 13:58
                  0
                  Вероятно это я туплю. Но обновил еще раз минишоп (переустановил), перезаписал чанки (17 штук). Версия минишопа 2.8.3. Но в чанках не появилось значений с словом «discount».

                  Также, оказалось, что вызов discount_price пишет о скидке только тогда, когда я использую промокод. Если же промокод не использован и скидка сделана средствами самого магазина, то там стоит «0».

                  Вот здесь — new.legendaryleonidas.ru/onlajn-magazin/pasha/nabor-dora-s-assorti-shokoladnyh-yaic.html (если добавить этот товар и перейти в корзину).
                    Валерий
                    21 апреля 2021, 14:28
                    0
                    Да, это я был не прав.
                    Общую сумму не так выводил. Сейчас все заработало, спасибо за терпение.
          Евгений
          22 сентября 2020, 08:45
          0
          обнадеживает сейчас попробуемс похимичить, вдруг чего получится ))))
          Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
          14