Перейти к содержанию
zignatz

Корзина покупок. Изменить кол-во товара кнопками -/+

Рекомендуемые сообщения

Добрый вечер. Кто-то реализовывал следующее решение? А именно: в корзине покупок изменение количества товара нажатием на кнопки - и +. 

 

например. в корзине товар. пакет молока  [-] 1 [+]  шт. При нажатии на + или минус страница обновляется, кол-во и сумма меняется. 

 

или может модуль есть. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Можно как-то поднять тему? 

 

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

 

Как-то можно сделать, чтоб действие происходило после изменения количества, нажатием на кнопку + или -  и ненужно было нажимать кнопку рефреш?

 

<?php echo $header; ?>
<div class="breadcrumb-container">
  <div class="container">
    <ul class="breadcrumb">
        <?php foreach ($breadcrumbs as $breadcrumb) { ?>
        <li><a href="<?php echo $breadcrumb['href']; ?>"><?php echo $breadcrumb['text']; ?></a></li>
        <?php } ?>
    </ul>
  </div>
</div>
<div class="container">
  <?php if ($attention) { ?>
  <div class="alert alert-info"><i class="fa fa-info-circle"></i> <?php echo $attention; ?>
    <button type="button" class="close" data-dismiss="alert">&times;</button>
  </div>
  <?php } ?>
  <?php if ($success) { ?>
  <div class="alert alert-success"><i class="fa fa-check-circle"></i> <?php echo $success; ?>
    <button type="button" class="close" data-dismiss="alert">&times;</button>
  </div>
  <?php } ?>
  <?php if ($error_warning) { ?>
  <div class="alert alert-danger"><i class="fa fa-exclamation-circle"></i> <?php echo $error_warning; ?>
    <button type="button" class="close" data-dismiss="alert">&times;</button>
  </div>
  <?php } ?>
  <div class="row"><?php echo $column_left; ?>
    <?php if ($column_left && $column_right) { ?>
    <?php $class = 'col-sm-6'; ?>
    <?php } elseif ($column_left || $column_right) { ?>
    <?php $class = 'col-sm-9'; ?>
    <?php } else { ?>
    <?php $class = 'col-sm-12'; ?>
    <?php } ?>
    <div id="content" class="<?php echo $class; ?>"><?php echo $content_top; ?>
      <h1><?php echo $heading_title; ?>
        <?php if ($weight) { ?>
        &nbsp;(<?php echo $weight; ?>)
        <?php } ?>
      </h1>
      <form action="<?php echo $action; ?>" method="post" enctype="multipart/form-data">
        <div class="table-responsive">
          <table class="table table-bordered">
            <thead>
              <tr>
                <td class="text-center"><?php echo $column_image; ?></td>
                <td class="text-left"><?php echo $column_name; ?></td>
                <td class="text-left"><?php echo $column_quantity; ?></td>
                <td class="text-right"><?php echo $column_price; ?></td>
                <td class="text-right"><?php echo $column_total; ?></td>
              </tr>
            </thead>
            <tbody>
              <?php foreach ($products as $product) { ?>
              <tr>
                <td class="text-center"><?php if ($product['thumb']) { ?>
                  <a href="<?php echo $product['href']; ?>"><img src="<?php echo $product['thumb']; ?>" alt="<?php echo $product['name']; ?>" title="<?php echo $product['name']; ?>" class="img-thumbnail" /></a>
                  <?php } ?></td>
                <td class="text-left"><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a>
                  <?php if (!$product['stock']) { ?>
                  <span class="text-danger">***</span>
                  <?php } ?>
                  <?php if ($product['option']) { ?>
                  <?php foreach ($product['option'] as $option) { ?>
                  <br />
                  <small><?php echo $option['name']; ?>: <?php echo $option['value']; ?></small>
                  <?php } ?>
                  <?php } ?>
                  <?php if ($product['reward']) { ?>
                  <br />
                  <small><?php echo $product['reward']; ?></small>
                  <?php } ?>
                  <?php if ($product['recurring']) { ?>
                  <br />
                  <span class="label label-info"><?php echo $text_recurring_item; ?></span> <small><?php echo $product['recurring']; ?></small>
                  <?php } ?></td>
               
                <td class="text-left">
                    <!--собственно кнопки-->
                     <div class="my_quantity">
                       <!-- минус -->
<button type="submit" data-toggle="tooltip" class="my_minus">-</button>           
 <!-- поле с количеством -->
<input type="text"  name="quantity[<?php echo $product['cart_id']; ?>]" class="quant" value="<?php echo $product['quantity']; ?>" size="1"/>
              
            <!-- плюс -->
<button type="submit" data-toggle="tooltip" class="my_plus">+</button>
             <!-- только после нажатия на эту кнопку страница обновляется с измененными на + или - значением. и сумма тоже обновляется -->
              <button type="submit">refresh</button>
            </div>
            </div>
                </td>
                    
                <td class="text-right"><?php echo $product['price']; ?></td>
                <td class="text-right"><?php echo $product['total']; ?></td>
              </tr>
              <?php } ?>
              <?php foreach ($vouchers as $voucher) { ?>
              <tr>
                <td></td>
                <td class="text-left"><?php echo $voucher['description']; ?></td>
                <td class="text-left"></td>
                <td class="text-left"><div class="input-group btn-block" style="max-width: 200px;">
                    <input type="text" name="" value="1" size="1" disabled="disabled" class="form-control" />
                    <span class="input-group-btn">
                    <button type="button" data-toggle="tooltip" title="<?php echo $button_remove; ?>" class="btn btn-danger" onclick="voucher.remove('<?php echo $voucher['key']; ?>');"><i class="fa fa-times-circle"></i></button>
                    </span></div></td>
                <td class="text-right"><?php echo $voucher['amount']; ?></td>
                <td class="text-right"><?php echo $voucher['amount']; ?></td>
              </tr>
              <?php } ?>
            </tbody>
          </table>
        </div>
      </form>
      <?php if ($modules) { ?>
     
     
      <div class="panel-group" id="accordion">
        <?php foreach ($modules as $module) { ?>
        <?php echo $module; ?>
        <?php } ?>
      </div>
      <?php } ?>
      <br />
      <div class="row">
        <div class="col-sm-4 col-sm-offset-8">
          <table class="table table-bordered">
            <?php foreach ($totals as $total) { ?>
            <tr>
              <td class="text-right"><strong><?php echo $total['title']; ?>:</strong></td>
              <td class="text-right"style="width: 70px;"><?php echo $total['text']; ?></td>
            </tr>
            <?php } ?>
          </table>
        </div>
      </div>
      <div class="buttons clearfix">
        <div class="pull-left"><a href="<?php echo $continue; ?>" class="btn btn-default"><?php echo $button_shopping; ?></a></div>
        <div class="pull-right"><a href="<?php echo $checkout; ?>" class="btn btn-primary"><?php echo $button_checkout; ?></a></div>
      </div>
      <?php echo $content_bottom; ?></div>
    <?php echo $column_right; ?></div>
</div>
<?php echo $footer; ?>
<script type="text/javascript">
  $(document).ready(function(){
    setTimeout(function () {
            $('.alert').remove();
          },5000);
  })
</script>

 <!-- скрипт для +/- -->
<script type="text/javascript" >
$(document).ready(function() {
$('.my_minus').click(function () {
var $input = $(this).parent().find('.quant');
var count = parseInt($input.val()) - 1;
count = count < 1 ? 1 : count;
$input.val(count);
$input.change();
return false;
});
$('.my_plus').click(function () {
var $input = $(this).parent().find('.quant');
$input.val(parseInt($input.val()) + 1);
$input.change();
return false;
});
});
</script> 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
В 05.09.2016 в 22:49, zignatz сказал:

Добрый вечер. Кто-то реализовывал следующее решение? А именно: в корзине покупок изменение количества товара нажатием на кнопки - и +. 

 

например. в корзине товар. пакет молока  [-] 1 [+]  шт. При нажатии на + или минус страница обновляется, кол-во и сумма меняется. 

 

или может модуль есть. 

воткни вот это и не мучайся

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

чуть-чуть не дажал :) 

Нужно добавить последовательное выполнение функции edit() и можно рефреш убирать.

 

<script type="text/javascript" >
$(document).ready(function() {
$('.my_minus').click(function () {
var $input = $(this).parent().find('.quant');
var count = parseInt($input.val()) - 1;
count = count < 1 ? 1 : count;
$input.val(count);
$input.change().edit();
return false;
});

$('.my_plus').click(function () {
var $input = $(this).parent().find('.quant');
$input.val(parseInt($input.val()) + 1);
$input.change().edit();
return false;
});
});
</script> 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

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

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Похожий контент

    • От spectre
      300.00 руб
      Скачать/Купить дополнение


      SP Скидка на каждый N товар 2.1.x 2.3.x
      ЧЕРНАЯ ПЯТНИЦА! ВСЕ ДОПОЛНЕНИЯ ПО 300!
       
      Версия под 2.3.х и 2.1.x
      Адаптация под любую версию линейки 2.x.x - бесплатная и быстрая
       
       
      Модуль позволяет делать скидку в процентах или фиксированную скидку на каждый N товар
       
      Варианты применения:
       
      каждый третий (пятый, десятый) товар со скидкой в % либо фиксированной скидкой N денег, настраивается в админке
       
       
       
       
       
      То есть если в настройках модуля стоит тип скидки в процентах, каждый третий товар скидка 50%, а в корзине 8 товаров, то скидка идет на 2 самых дешевых товара
       
      Если стоит фиксированная скидка при таких же условиях получим 2 товара с фиксированной скидкой
       
      Какие-то вопросы? Пишите в личку, разберемся
       
      Добавил spectre Добавлено 09.04.2018 Категория Цены, скидки, акции, подарки Системные требования Сайт разработчика Старая цена 666 Метод активации Без активации Ioncube Loader Нет OpenCart 2.3
      2.1 ocStore 2.3
      2.1 OpenCart.Pro, ocShop Opencart.pro 2.3
      Opencart.pro 2.1  
    • От spectre
      ЧЕРНАЯ ПЯТНИЦА! ВСЕ ДОПОЛНЕНИЯ ПО 300!
       
      Версия под 2.3.х и 2.1.x
      Адаптация под любую версию линейки 2.x.x - бесплатная и быстрая
       
       
      Модуль позволяет делать скидку в процентах или фиксированную скидку на каждый N товар
       
      Варианты применения:
       
      каждый третий (пятый, десятый) товар со скидкой в % либо фиксированной скидкой N денег, настраивается в админке
       
       
       
       
       
      То есть если в настройках модуля стоит тип скидки в процентах, каждый третий товар скидка 50%, а в корзине 8 товаров, то скидка идет на 2 самых дешевых товара
       
      Если стоит фиксированная скидка при таких же условиях получим 2 товара с фиксированной скидкой
       
      Какие-то вопросы? Пишите в личку, разберемся
       
    • От DM8985
      При создании заказа через админку, нужно сделать рядом с колонкой количество (где мы выбираем количество заказываемого товара), колонку общее количество (остаток). Но чтобы учитывалось общее количество (остаток) при выборе опции, где количество может быть другое. Если такое возможно, то жду предложения в личку. Желательно сделать через OCMOD.
    • От OCdevWizard
      400.00 руб · Срок продления: 200.00 руб за год
      Скачать/Купить дополнение


      Всплывающая корзина PRO


      Модуль - всплывающая корзина. Этот модуль обеспечивает быстрый и комфортный доступ к корзине покупок. Большая и расширенная система настроек делают этот модуль абсолютно уникальным и гибким для каждого магазина.всплывающая корзина,корзина,popup cart,shopping cart,корзина+опции,попап корзина,модуль корзины,корзина покупок
       

       
      Админка: demo / demo | Смотреть
      Каталог: Смотреть
       


      ❏ 2.0.0.0, 2.0.1.0, 2.0.1.1, 2.0.2.0, 2.0.3.1, 2.1.0.1, 2.1.0.2, 2.2.0.0, 2.3.0.2, 3.0.0.0, 3.0.1.1, 3.0.1.2, 3.0.2.0
       


      ❏ 2.1.0.1, 2.1.0.1.1, 2.1.0.2, 2.1.0.2.1, 2.3.0.2, 2.3.0.2.1, 2.3.0.2.2, 2.3.0.2.3
       

       
      Украинский, Русский, Английский
       


      ❏ Всплывающая корзина PRO+
       

       

       


      ❏ Модуль работает во всплывающем окне.
      ☒ Вы можете выбрать опции продукта, прежде чем добавлять их в корзину.
      ☒ Вы можете минимизировать JS-файл модуля (низкий и средний уровни).
      ☒ Вы можете восстановить ранее сохраненные продукты во всплывающем окне.
      ☒ Вы можете изменить содержимое блока Totals во всплывающем окне.
      ❏ Вы можете выбрать некоторые параметры продукта, что отображаются в всплывающем окне.
      ☒ Вы можете редактировать и восстанавливать CSS файлы модуля.
      ❏ Живая обработка (через Ajax).
      ❏ Многоязычная поддержка.
      ❏ Поддержка нескольких магазинов.
      ❏ Вы можете настраивать текстовые данные модуля.
      ❏ Вы можете переключать RTL или LTR текстовое направление в модуле.
      ❏ Вы можете выбрать с какой группой клиентов следует работать модулю.
      ❏ Вы можете настройте фон для модуля.
      ☒ Вы можете настроить эффекты анимации для модуля.
      ❏ Вы можете отображать блоки: купон, подарочный сертификат, бонусы, расчет доставки.
      ❏ Простая установка по OCmod.
      ❏ Дружелюбный для мобильных устройств.
      ☒ Функция «Сохранить продукты» на E-mail пользователя. Данные автоматически сохраняются в БД магазина. Вы можете увидеть эту информацию.
      ❏ Карусель для Up-sell и Cross-sell товаров.
      ❏ Вы можете выбирать товары для Cross-sell из: категорий, брендов или вручную из продуктов.
      ❏ Вы можете выбирать товары Up-sell.
      ❏ Вы можете создать свои собственные html шаблоны для e-mail уведомлений.
      ❏ Вы можете сохранить и восстановить настройки модуля.
      ❏ Модуль требует активацию лицензии.
      ☒ - функциональные возможности модуля, которые отмеченные этим знаком доступны только для версии модуля PRO+.
       


      ❏ Перед покупкой, пожалуйста воспользуйтесь бесплатной утилитой "Проверка совместимости системы", для проверки совместимости вашей системы с требованиями модуля.
      ❏ PHP: >= 5.6.
      ❏ Установленная cURL библиотека.
      ❏ Установленный ionCube Loader v10.2.
      ❏ Модуль работает и на localhost, но требует активного подключения к Интернет.
       


      ❏ Пожалуйста, используйте мою службу поддержки, чтобы запросить помощь или сообщить о ошибке.
      ❏ Пожалуйста, не используйте комментарии для сообщений об ошибках.
      ❏ Техническая поддержка предоставляется бесплатно. Обратите внимание, что платная техническая поддержка выполняется в случаях, когда существует конфликт с внешними модулями/продуктами/шаблонами. Пожалуйста, примите это с пониманием того, что разработчик не может сделать собственный модуль на 100% совместимым со всеми внешними расширениями. Вот почему в некоторых случаях необходимо адаптировать модуль к нестандартной конфигурации и системным настройкам магазина. Поэтому решение таких проблем будет оплачиваться отдельно от стоимости модуля.
       


      ❏ Вы можете использовать модуль только на одном своем домене (например http://site.com), а также на под доменах этого домена (например http://test.site.com или http://site.com/test/).
      ❏ Вы не можете продавать или перепродавать этот модуль без письменного разрешения от автора (OCdevWizard).
      ❏ Вы не можете давать в качестве подарка или распространять этот модуль без письменного разрешения от автора (OCdevWizard).
      ❏ Вы не можете представлять этот модуль как ваш собственный. Пожалуйста уважайте время и труд, которое автор потратил на создание этого модуля.
      ❏ Вы не можете удалять копирайт из файлов модуля от автора (OCdevWizard).
      ❏ Вы должны использовать мою службу поддержки для активации лицензии модуля.
       


      ❏ Mijoshop, Aceshop
      Добавил OCdevWizard Добавлено 13.03.2018 Категория Модули Системные требования PHP >=5.6; Mysqli; cURL; IonCube Loader v10.2 Сайт разработчика http://ocdevwizard.com/ Старая цена 1200 Метод активации По запросу в ЛС Ioncube Loader Требуется OpenCart 3.0
      2.3
      2.2
      2.1
      2.0 ocStore 2.3
      2.2
      2.1 OpenCart.Pro, ocShop Не проверялось  
    • От OCdevWizard
      600.00 руб · Срок продления: 300.00 руб за год
      Скачать/Купить дополнение


      Всплывающая корзина PRO+

       
      Модуль - всплывающая корзина. Этот модуль обеспечивает быстрый и комфортный доступ к корзине покупок. Большая и расширенная система настроек делают этот модуль абсолютно уникальным и гибким для каждого магазина.всплывающая корзина,корзина,popup cart,shopping cart,корзина+опции,попап корзина,модуль корзины,корзина покупок всплывающая корзина
       

       
      Админка: demo / demo | Смотреть
      Каталог: Смотреть
       


      ❏ 2.0.0.0, 2.0.1.0, 2.0.1.1, 2.0.2.0, 2.0.3.1, 2.1.0.1, 2.1.0.2, 2.2.0.0, 2.3.0.2, 3.0.0.0, 3.0.1.1, 3.0.1.2, 3.0.2.0
       


      ❏ 2.1.0.1, 2.1.0.1.1, 2.1.0.2, 2.1.0.2.1, 2.3.0.2, 2.3.0.2.1, 2.3.0.2.2, 2.3.0.2.3
       

       
      Украинский, Русский, Английский
       
       

      ❏ Всплывающая корзина PRO
       

       

       


      ❏ Модуль работает во всплывающем окне.
      ☑ Вы можете выбрать опции продукта, прежде чем добавлять их в корзину.
      ☑ Вы можете минимизировать JS-файл модуля (низкий и средний уровни).
      ☑ Вы можете восстановить ранее сохраненные продукты во всплывающем окне.
      ☑ Вы можете изменить содержимое блока Totals во всплывающем окне.
      ❏ Вы можете выбрать некоторые параметры продукта, что отображаются в всплывающем окне.
      ☑ Вы можете редактировать и восстанавливать CSS файлы модуля.
      ❏ Живая обработка (через Ajax).
      ❏ Многоязычная поддержка.
      ❏ Поддержка нескольких магазинов.
      ❏ Вы можете настраивать текстовые данные модуля.
      ❏ Вы можете переключать RTL или LTR текстовое направление в модуле.
      ❏ Вы можете выбрать с какой группой клиентов следует работать модулю.
      ❏ Вы можете настройте фон для модуля.
      ☑ Вы можете настроить эффекты анимации для модуля.
      ❏ Вы можете отображать блоки: купон, подарочный сертификат, бонусы, расчет доставки.
      ❏ Простая установка по OCmod.
      ❏ Дружелюбный для мобильных устройств.
      ☑ Функция «Сохранить продукты» на E-mail пользователя. Данные автоматически сохраняются в БД магазина. Вы можете увидеть эту информацию.
      ❏ Карусель для Up-sell и Cross-sell товаров.
      ❏ Вы можете выбирать товары для Cross-sell из: категорий, брендов или вручную из продуктов.
      ❏ Вы можете выбирать товары Up-sell.
      ❏ Вы можете создать свои собственные html шаблоны для e-mail уведомлений.
      ❏ Вы можете сохранить и восстановить настройки модуля.
      ❏ Модуль требует активацию лицензии.
      ☑ - функциональные возможности модуля, которые отмеченные этим знаком доступны только для версии модуля PRO+.
       

       
      ❏ Перед покупкой, пожалуйста воспользуйтесь бесплатной утилитой "Проверка совместимости системы", для проверки совместимости вашей системы с требованиями модуля.
      ❏ PHP: >= 5.6.
      ❏ Установленная cURL библиотека.
      ❏ Установленный ionCube Loader v10.2.
      ❏ Модуль работает и на localhost, но требует активного подключения к Интернет.
       


      ❏ Пожалуйста, используйте мою службу поддержки, чтобы запросить помощь или сообщить о ошибке.
      ❏ Пожалуйста, не используйте комментарии для сообщений об ошибках.
      ❏ Техническая поддержка предоставляется бесплатно. Обратите внимание, что платная техническая поддержка выполняется в случаях, когда существует конфликт с внешними модулями/продуктами/шаблонами. Пожалуйста, примите это с пониманием того, что разработчик не может сделать собственный модуль на 100% совместимым со всеми внешними расширениями. Вот почему в некоторых случаях необходимо адаптировать модуль к нестандартной конфигурации и системным настройкам магазина. Поэтому решение таких проблем будет оплачиваться отдельно от стоимости модуля.
       


      ❏ Вы можете использовать модуль только на одном своем домене (например http://site.com), а также на под доменах этого домена (например http://test.site.com или http://site.com/test/).
      ❏ Вы не можете продавать или перепродавать этот модуль без письменного разрешения от автора (OCdevWizard).
      ❏ Вы не можете давать в качестве подарка или распространять этот модуль без письменного разрешения от автора (OCdevWizard).
      ❏ Вы не можете представлять этот модуль как ваш собственный. Пожалуйста уважайте время и труд, которое автор потратил на создание этого модуля.
      ❏ Вы не можете удалять копирайт из файлов модуля от автора (OCdevWizard).
      ❏ Вы должны использовать мою службу поддержки для активации лицензии модуля.
       


      ❏ Mijoshop, Aceshop
      Добавил OCdevWizard Добавлено 12.03.2018 Категория Модули Системные требования PHP >=5.6; Mysqli; cURL; IonCube Loader v10.2 Сайт разработчика http://ocdevwizard.com/ Старая цена 1400 Метод активации По запросу в ЛС Ioncube Loader Требуется OpenCart 3.0
      2.3
      2.2
      2.1
      2.0 ocStore 2.3
      2.2
      2.1 OpenCart.Pro, ocShop Не проверялось  
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.