Категории

[FAQ] Часто задаваемые вопросы и ответы

Проблемы и решения

Ошибки и исправления

Общие вопросы

Расширения

Установка и обновление

Модули

Шаблоны

Локализация интерфейса

Коммерческие предложения

Учимся бизнесу

Бизнес книги

Поисковая оптимизация (SEO)

Магазины на ShopOS

Хостинг для ShopOS

Предложения и пожелания

Курилка

Вопрос по корзине товаров

Как в корзине внедрить плюсы и минусы в поле кол-во товаров как тут
http://htmlcss.ru/Olga/skript_input_pljus_minus/
В листинге и на странице товара получилось внедрить этот способ, а в корзине не получается.

Вот рабочий вариант для страницы товара


<span class="add-cart">
<p class="number-box">
<input class="imgbutinput" type="text" name="products_qty" value="1" size="3" />
  <span class="plus"><img src="{$tpl_path}images/arrow.png" longdesc="#" /></span>
  <span class="minus"><img src="{$tpl_path}images/arrow-up.png" longdesc="#" /></span>
</p>
<input type="hidden" name="products_id" value="{$PRODUCTS_ID}" />
<input class="imgbutcart" type="submit"  value="В корзину" />
</span>


Вот так я пытался сделать в order_details.html

<span class="minus">-</span>
{$module_data.PRODUCTS_QTY}
<span class="plus">+</span>


Такой вариант не работает.


это нужно смотреть в чем причина.
так не могу ничего сказать.


могу скинуть ссылку на демо, если поможет


Получается что кнопки плюс и минус работают, но когда нажимаешь пересчитать, то коряво работает.
Вот демо - www.prosvet.kuhto.ru


потому как скрипт неправильно сделан. вместо того, чтобы нормально обозначить инпут, там идет поиск ближайшего.
а в корзине, где Количество еще указаны скрытые поля id товара и текущего количества.
и получается так, что при изменении количества меняются и значения в тех полях, вот каша и выходит.


У меня так было когда я в странице товара делал, тоже не работало

сначала делал так


  <span class="minus"><img src="{$tpl_path}images/arrow-up.png" longdesc="#" /></span>
{$ADD_QTY}
  <span class="plus"><img src="{$tpl_path}images/arrow.png" longdesc="#" /></span>


потом решил так, и заработало

<input class="imgbutinput" type="text" name="products_qty" value="1" size="3" />
  <span class="plus"><img src="{$tpl_path}images/arrow.png" longdesc="#" /></span>
  <span class="minus"><img src="{$tpl_path}images/arrow-up.png" longdesc="#" /></span>
</p>
<input type="hidden" name="products_id" value="{$PRODUCTS_ID}" />




В корзине я пробовал сделать так, естественно не работает

<span class="minus">-</span>
<input type="text" name="cart_quantity[]" value="2" size="2" />
<input type="hidden" name="products_id[]" value="{$PRODUCTS_ID}" />
<span class="plus">+</span>
<input type="hidden" name="old_qty[]" value="2" />


вам нужно убрать все поля кроме количества от + и -.
т.е. перенести в другую часть кода просто, чтобы где + и - был только один инпут с количеством.

делайте как в примере - поле между + и -
просто ближайшие поля уберите от них.


Если честно не совсем понимаю что и как нужно сделать )
Пробую разные варианты, пока ничего не выходит, извините что туплю.


там нужно либо переписывать PHP код корзины - убрать скрытые поля от поля количества, либо переписывать JS код.


Наверное проще убрать скрытые поля от поля количества, только как это сделать я не знаю.


modules\order_details_cart.php найти
$module_content = array ('PRODUCTS_NAME' => $products['name'].$mark_stock,
                            'PRODUCTS_QTY' => os_draw_input_field('cart_quantity[]',
$products['quantity'], 'size="2"').os_draw_hidden_field('products_id[]',
$products['id']).os_draw_hidden_field('old_qty[]',
$products['quantity']),
'PRODUCTS_MODEL' => $products['model'],
'PRODUCTS_SHIPPING_TIME'=>$products['shipping_time'],
'PRODUCTS_TAX' => @number_format($products['tax'], TAX_DECIMAL_PLACES),
'PRODUCTS_IMAGE' => $image,
'IMAGE_ALT' => $products['name'],
'BOX_DELETE' => os_draw_checkbox_field('cart_delete[]', $products['id']),
'PRODUCTS_LINK' => os_href_link(FILENAME_PRODUCT_INFO, os_product_link($products['id'],
$products['name'])),
'PRODUCTS_PRICE' => $osPrice->Format($products['price'] * $products['quantity'], true),
'PRODUCTS_SINGLE_PRICE' =>$osPrice->Format($products['price'], true),
'PRODUCTS_SHORT_DESCRIPTION' => get_short_description_cache($products['id']),
'ATTRIBUTES' => '');
заменить на
$module_content = array ('PRODUCTS_NAME' => $products['name'].$mark_stock,
                            'PRODUCTS_QTY' => os_draw_input_field('cart_quantity[]',
$products['quantity'], 'size="2"'),
'PRODUCTS_MODEL' => $products['model'],
'PRODUCTS_SHIPPING_TIME'=>$products['shipping_time'],
'PRODUCTS_TAX' => @number_format($products['tax'], TAX_DECIMAL_PLACES),
'PRODUCTS_IMAGE' => $image,
'IMAGE_ALT' => $products['name'],
'BOX_DELETE' => os_draw_checkbox_field('cart_delete[]', $products['id']).os_draw_hidden_field('products_id[]',
$products['id']).os_draw_hidden_field('old_qty[]',
$products['quantity']),
'PRODUCTS_LINK' => os_href_link(FILENAME_PRODUCT_INFO, os_product_link($products['id'],
$products['name'])),
'PRODUCTS_PRICE' => $osPrice->Format($products['price'] * $products['quantity'], true),
'PRODUCTS_SINGLE_PRICE' =>$osPrice->Format($products['price'], true),
'PRODUCTS_SHORT_DESCRIPTION' => get_short_description_cache($products['id']),
'ATTRIBUTES' => '');
должно сработать


а в корзине так оставить?


<span class="minus">-</span>
{$module_data.PRODUCTS_QTY}
<span class="plus">+</span>


Пока так не работает


вы изменения внесли? На демо у вас изменений нет. все так же.


Да, но что-то не сразу обновилось.
Еще раз поменял код, теперь работает.

Спасибо.


Источник



Copyright ShopOS