Вход • Регистрация

Целое количество товара в корзине

  • 24 апреля 2018 г.
  • Добрый день.
    В нашем магазине есть такой товар http://korobkavrn.ru/shop/ingredienty/glyukoznyy-sirop-43/ глюкозный сироп, с фасовкой 500гр и 1кг. Но наши клиенты умудряются заказывать 250гр. сиропа, выбирая фасовку 500гр. и ставя количество товара 0,5. Как сделать количество товара целым числом, чтобы клиент не мог выбрать 0,5 от 500гр.?
    Предвидя проблему, это нужно сделать для заданной товарной группы (категории).
    • 24 апреля 2018 г.
    • Можно для этой категории сделать отдельный шаблон, где выбор числа будет не через input text, а через input number, с шагом 1
      Либо написать js который будет проверять что введено целое число. Это варианты, если на стороне клиента.
      • 24 апреля 2018 г.
      • Т.е. по-умолчанию в diafan количество товара это дробь? Правильно я понял?
      • 24 апреля 2018 г.
      • Т.е. вот такая ситуация штатными средствами не решается? Мы даже не задумывались о данной проблеме, пока один из пользователей не оформил похожий заказ.
        • 24 апреля 2018 г.
        • Вы придаёте слишком большое значение одному единственному случаю. Один раз = случайность, а не проблема. Если такое, будет по какой то причине происходить периодический, тогда это проблема и стоит задуматься и принять меры.
  • 25 апреля 2018 г.
  • Попробуйте вот такой вариант, думаю, наиболее подходящий будет

    Код
    <input type="number" class="number_cell">


    Код
    $(document).ready(function(){

    $(".number_cell").keypress(function(event){
    var key, keyChar;
    if(!event) var event = window.event;

    if (event.keyCode) key = event.keyCode;
    else if(event.which) key = event.which;

    if(key > 47 && key < 58 ) return true;
    keyChar=String.fromCharCode(key);

    if(!/d/.test(keyChar)) return false;

    });

    });
    • 25 апреля 2018 г.
    • Это в какой файл нужно вставлять?
      • 26 апреля 2018 г.
      • В любой, можно в рабочий скрипт темы типа custom/ my / js/main.js

        Ну или какой он там в теме
        • 03 мая 2018 г.
        • Цитата
          <input type="number" class="number_cell">

          А этот код куда добавить?
          В main.js добавил, но без первой строки же не будет работать?
          • 03 мая 2018 г. , редакция: 03 мая 2018 г.
          • Ну это же только пример, можно класс подвесить туда, куда надо.

            Если в корзине, то надо править cart.view.table.php там в 88 строке (пример, так как может корзина кастомная) будет код
            Код
            <input type="text" class="number" value="'.$row["count"].'" min="0" name="editshop'.$row["id"].'" size="2">

            и туда надо добавить класс
            Код
            <input type="text" class="number number_cell" value="'.$row["count"].'" min="0" name="editshop'.$row["id"].'" size="2">


            Если у товара, то правим файл shop.view.buy_form.php
            • 03 мая 2018 г.
            • Код
              class="number item-info__field"

              В файле shop.view.buy_form.php уже используется другой класс, а файл с именем cart.view.table.php я вообще не нашёл на сервере (у меня облачная CMS).
              • 04 мая 2018 г. , редакция: 04 мая 2018 г.
              • Классов может быть неограниченное количество.

                Просто класс number_cell допишите.

                Код
                class="number item-info__field number_cell"

Новости

  • 18 июня
  • В сборке большое обновление demo-шаблона, дополнительная защита от спама, улучшение YML-импорта и еще много важного и интересного.
  • 24 апреля
  • В новой сборке совершили революцию в структурировании кастомизированной информации в шаблонах, добавили авторегистрацию пользователей, усовершенствовали защиту от спама, актуализировали накопительную скидку, а также улучшили производительность и стабильность работы системы.
  • 12 января
  • После выхода сборки 7.1 мы выпустили уже три патча, в каждом из которых улучшаем административную часть сайта. Сборка DIAFAN.CMS 7.1.3 уже доступна к установке. 

Форум