msCart плейсхолдер суммы одного типа товара

Всем привет. Вопрос нубский, но плейсхолдер такой не нашёл. Вообщем нужно вывести у каждого товара только ту сумму, что расчитывается от количества товара. Общая стоимость вызывается плейсхолдером [[+total_cost]]






Ещё проблема возникла со сниппетом msOrder не переключаются <input type=«radio»… в способах доставки. Способов доставки 4, а метод оплаты 1.
Андрей Копп
02 октября 2015, 13:02
modx.pro
1
2 076
0

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

Constantine
02 октября 2015, 17:01
0
сумма каждой позиции
[[+price]]
    Андрей Копп
    02 октября 2015, 17:15
    0
    Нужна сумма одной единицы товара умноженная на количество, на скрине даже выделил) Хотелось проще, но походу через API MODX прийдётся брать.
      Constantine
      02 октября 2015, 17:20
      +1
      не надо ничего брать. [[+price:mpy=`[[+count]]`]]
        Андрей Копп
        02 октября 2015, 18:39
        0
        Спасибо, то что нужно)
          Constantine
          02 октября 2015, 18:43
          +1
          почитайте на досуге, нужная штука :)
            Андрей Копп
            02 октября 2015, 22:09
            0
            Спасибо, давно PHx не пользовался, со времён MODX Evo и забыл о нём) А есть мысли по поводу выбора типа доставки? Почему может не срабатывать?
          but1head
          02 октября 2015, 18:42
          0
          вот только при обновлении кол-ва это не сработает
            Андрей Копп
            02 октября 2015, 22:10
            0
            А есть решения, чтобы срабатывало? Уж очень такой функционал необходим.
              but1head
              02 октября 2015, 22:17
              +1
              <td><span id="price-count"> [[+price:mpy=`[[+count]]`]] </span></td>
              $('input[name="count"]').change(function(){
              	var count = $(this).val(); 
              	var total = $('#price-count');
              	
              	....
              
              	total.text(count * price);
              });
              дальше думаю разберетесь
                Андрей Копп
                02 октября 2015, 22:45
                +1
                С JS проблемка, не очень хорошо его знаю. Привидённый код я так понимаю не полный, т.к. ругается на строчку total.text(count * price);

                Не очень понимаю что нужно дописать?! Единственное что я знаю о jQuery так это alert(((
                  Максим Кузнецов
                  02 октября 2015, 23:47
                  0
                  В примере не объявлена переменная price — вот и ругается. Объявите ее по аналогии с
                  var price = $('#айди_контейнера_или_инпута_где_хранится_значение_стоимости_за_единицу_товара');
                  и все заработает.)
                    Андрей Копп
                    03 октября 2015, 00:17
                    0
                    Так я id=«price-count» и указал optolider.bfa.su/oformlenie-zakaza.html
                      Максим Кузнецов
                      03 октября 2015, 00:41
                      +1
                      Id из чанка уберите — параметр id должен быть уникален на всей странице, а у вас в каждой колонке товаров (если товара больше 1 шт) он будет.

                      Вот рабочий код:

                      <script type="text/javascript">
                      $('#msCart input[name="count"]').change(function(){
                      	var count = $(this).val(); 
                      	var singlePrice = parseInt($(this).closest('.tab_row').children(".tab_sum").html());
                      
                      	$(this).closest('.tab_row').children(".tab_pr").children("span").html(count * singlePrice);
                      });
                      </script>
                      — вставьте где-нибуь в конце страницы, после вызова jQuery и будет пересчитывать итоговую сумму в каждой колонке товара.
                        Андрей Копп
                        03 октября 2015, 00:57
                        0
                        Убрал id, пытаюсь добавить товар, цена справа исчезает, в alert ставлю singlePrice, в окошке выдаёт NaN. Уже голова не соображает, что-то я не так делаю похоже(((
                        Максим Кузнецов
                        03 октября 2015, 01:03
                        0
                        Упс, извиняюсь (уже схожее состояние с головой, хех)
                        var singlePrice = parseInt($(this).closest('.tab_row').children(".tab_sum").html());
                        html() замените на text()
                        Андрей Копп
                        03 октября 2015, 01:14
                        0
                        Огромное спасибо! Глазам не вериться, работает))) Теперь придумать надо как сделать скидку в реальном времени зависящую от количества выбранного товара. Тут табличка есть optolider.bfa.su/katalog/igrushki/letayushhij-minon.html Формула такая:
                        от 5 шт — 0%
                        от 10 шт — 5%
                        от 30 шт — 20%
                        от 100 шт — 60%
                        от 500 шт — 80%

                        В админке через MIGX сделал табличку эту, теперь думаю как это можно сделать. Буду рад любой идее)
                        Максим Кузнецов
                        03 октября 2015, 01:20
                        0
                        Не за что.)

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

                        Если данная схема скидок работает для всех товаров, то все довольно просто — в кастомном классе расширяем функцию получения списка товаров корзины, в которой смотрим параметр $item['count'] и в зависимости от него меняем параметр $item['price'].

                        В противном случае все усложнится получением схемы скидок для каждого товара.
                        Андрей Копп
                        11 октября 2015, 01:03
                        0
                        Может поможете разобраться? modx.pro/help/6731/ Что-то я совсем веру в свои силы потерял(((
    Денис
    10 апреля 2019, 23:28
    0
    Подскажите, как реализовать такой функционал в Fenom?
    Не могу разобраться с фильтрами modx.
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      19