Вопрос по корзине товаров
Как в корзине внедрить плюсы и минусы в поле кол-во товаров как тут 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>
Пока так не работает
вы изменения внесли? На демо у вас изменений нет. все так же.
Да, но что-то не сразу обновилось. Еще раз поменял код, теперь работает.
Спасибо.
Источник
|