Legosp Forum

Shop-Script "Legosp" => Разработка => Тема начата: Albit от Сентября 25, 2013, 04:10:52 pm

Название: Два способа изменения количества товара в корзине
Отправлено: Albit от Сентября 25, 2013, 04:10:52 pm
Вариант 1
Чтобы реализовать возможность добавлять или уменьшать количество товара в корзине с помощью кнопок + и - нужно  в файле shopping_cart.tpl.html

код ( в дефолтном шаблоне строки 47-50)

      <td align="left"><input type="text" name="count_{$cart_content[i].id}" id="count_{$cart_content[i].id}" value="{$cart_content[i].quantity}" size="5" min={$cart_content[i].min_q} {* onChange="$('#cart').submit();" *}/>
              {if $cart_content[i].min_q>$cart_content[i].quantity} {assign var="min_q" value="1"} <label for="count_70" generated="true" class="error">{$smarty.const.ORDERS_MIN_PRODUCT}{$cart_content[i].min_q}</label>{/if}
 
               </td>
 

заменить на код


 <td align="leftt"><b>
  <a onclick="cart_update('cart');">
  <img src="./images/minus.gif"  id="tt" value="-" title="Уменьшить количество товара в корзине" onclick="var qty_el = document.getElementById('count_{$cart_content[i].id}'); var qty = qty_el.value; if( !isNaN( qty ) && qty > 0 ) qty_el.value--;return false;"/></a>

  <input type="text" name="count_{$cart_content[i].id}" id="count_{$cart_content[i].id}" value="{$cart_content[i].quantity}" size="1" min={$cart_content[i].min_q} {* onChange="$('#cart').submit();" *}</b>
         <a onclick="cart_update('cart');">
<img src="./images/plus.gif" id="ss" value="+" title="Увеличить количество товара в корзине"onclick="var qty_el = document.getElementById('count_{$cart_content[i].id}'); var qty = qty_el.value; if( !isNaN( qty )) qty_el.value++;return false;" </a>

              {if $cart_content[i].min_q>$cart_content[i].quantity} {assign var="min_q" value="1"} <label for="count_70" generated="true" class="error">{$smarty.const.ORDERS_MIN_PRODUCT}{$cart_content[i].min_q}</label>{/if}
               </td>
Поскольку теперь кнопка "Пересчитать" не нужна, ее можно удалить, строка 161 код
<td align="right"><a onclick="cart_update('cart');" class="button"><span>{$smarty.const.UPDATE_BUTTON}</span></a></td>
Название: Re: Добавление-уменьшение количества товара в корзине кнопками + и -
Отправлено: lugobor от Сентября 26, 2013, 09:31:24 am
Спасибо!
Название: Re: Добавление-уменьшение количества товара в корзине кнопками + и -
Отправлено: liy92 от Октября 29, 2013, 09:23:47 pm
Спасибо, но в lego 6.1 не нашёл картинок minus.gif и plus.gif. Какие у них должны быть размеры?
Название: Re: Добавление-уменьшение количества товара в корзине кнопками + и -
Отправлено: Albit от Октября 30, 2013, 11:42:47 am
Спасибо, но в lego 6.1 не нашёл картинок minus.gif и plus.gif. Какие у них должны быть размеры?

размер 11х11 например такие
Название: Re: Добавление-уменьшение количества товара в корзине кнопками + и -
Отправлено: Albit от Ноября 19, 2013, 11:02:20 am
Вариант 2:на мой взгляд более удобный - изменение количества товара происходит с помощью левой и правой кнопок мышки
в файле shopping_cart.tpl.html строку 47
      <td align="left"><input type="text" name="count_{$cart_content[i].id}" id="count_{$cart_content[i].id}" value="{$cart_content[i].quantity}" size="5" min={$cart_content[i].min_q} {* onChange="$('#cart').submit();" *}/>заменяем на
        <td align="left"><<input style="width: 30px;" type="text" value="{$cart_content[i].quantity}" name="count_{$cart_content[i].id}" id="count_{$cart_content[i].id}" onclick="set_quantity('count_{$cart_content[i].id}', 1);cart_update('cart');" oncontextmenu="set_quantity('count_{$cart_content[i].id}', -1);cart_update('cart');return false" title="используйте левую и правую кнопки мыши для изменения количества">
в файле shopping_cart.tpl.html в самом низу вставляем
<script type="text/javascript">
{literal}
function set_quantity(quan, step){
        var oMod = document.getElementById(quan);
        if (!(iCurr = parseInt(oMod.value))) {
        iCurr = 0;
        }
        if (!(iCurr <= 0 && step < 0)) {
        oMod.value = iCurr + step;
        }
}
{/literal}
   
</script>
Название: Re: Два способа изменения количества товара в корзине
Отправлено: Heisenberg от Декабря 02, 2013, 10:58:58 pm
Эх, "потыцкать" бы. жаль демки нет.
Название: Re: Два способа изменения количества товара в корзине
Отправлено: Heisenberg от Декабря 03, 2013, 08:26:25 pm
спасибо, пронаблюдал.
честно говоря, я не читал второй пост. меня интересовал "кнопочный" вариант, да так и юзеру понятней.
у меня есть подобный, но "ослик" его преподносит по иначему.
Название: Re: Два способа изменения количества товара в корзине
Отправлено: Albit от Декабря 12, 2013, 02:34:00 pm
Данный модуль на сайте автора стоит http://albit.com.ua (http://albit.com.ua)
Ужасно неудобное решение как по мне.
Идёт постоянный рефреш страници, и не сразу понятно какая кнопка увеличивает а какая уменьшает, случайно нажал правую, получилось что уменьшило, а был товар 1шт. и тут бац - Ваша корзина пуста, так как типа количество 0 - это равносильно удалению товара. Приходиться лезть на сайт и по новому заказывать +)
Лучше уж кнопки поставить, ИМХО.

Спасибо за критику, в ней есть доля правды,наверное неопытному юзеру не совсем понятно как изменить количество, несмотря на подсказки да и кнопки привычней , а по мне если количество товара каждой позиции не более 1-3шт изменить количество или удалить товар одним кликом удобно.
Название: Re: Два способа изменения количества товара в корзине
Отправлено: Heisenberg от Декабря 13, 2013, 12:05:40 am
да, в примере, весьма сложно сориентироваться обычному юзеру.
почему больше интересовал обычный, кнопочный вариант..
у меня есть свой вариант, и давно использую, но есть IE со всем его "злом", и приходится использовать костыли.
а ведь так хочется "чистоты" :)

ps/ честно, пробовал и эти варианты, но хочется мнения большинства.
Название: Re: Два способа изменения количества товара в корзине
Отправлено: Юрий от Декабря 13, 2013, 01:41:56 am
Albit
Посмотрите может понравится http://jqueryui.com/spinner/

slamm
Да я тоже реализовывал аякс тут vo-stok.com.ua. Согласен что за один аякс - 35 - дороговато. Ну некоторым ставил свою реализацию по 50) Как модуль его не продаю из за трудностей в установке. Там переписал весь пхп. Уж очень много лагов в лего с корзиной...