Показать сообщение отдельно
  #1 (permalink)  
Старый 27.09.2011, 15:28
Аватар для klubnichkaaa
Интересующийся
Отправить личное сообщение для klubnichkaaa Посмотреть профиль Найти все сообщения от klubnichkaaa
 
Регистрация: 30.01.2011
Сообщений: 28

Обновление или перезапись cookie
Приветствую всех, есть такая проблема! Мне нужно для своего интернет магазина сделать удаление товара из корзины. Скрипт построен на Jquery, вопрос в том как удалить товар, ведь нужно удалить определённый товар и записать его в куки.
Сам скрипт:
<script type="text/javascript">
$(document).ready(function(){
		msg = new Array();
		var basket = '';
		var totalprice = 0;
		var iii='';
		var tt=':';
		var totalCountGoods = 0;
		if (!$.cookie("basket")) {$.cookie("basket", '', {path: "/"});}
		basket = decodeURI($.cookie("basket"));
		basketArray = basket.split(",");// Находим все товары
		for(var i=0; i<basketArray.length-1;i++) {
			goodsId = basketArray[i].split(":"); // Находим id товара, цену и количество
			totalCountGoods+=parseInt(goodsId[1]);
			iii+=tt+parseInt(goodsId[0]);
			totalprice+=parseInt(goodsId[1])*parseInt(goodsId[2]);
		}
		if (totalprice > 0) {
			$('#clearBasket').show();
			$('#checkOut').show();
			$('.hPb').show();
			$('.hPe').hide();
		}
		
		
		if (!totalprice) {totalprice = 0;}
		$('#totalPrice').text(totalprice);
		$("#cena").val(totalprice);
		$("#one").val(iii);
		$('#totalGoods').text(totalCountGoods);
});



$('a.addCart').click(function() {
   data = $(this).attr('id').split('-');
   addCart(data[1], data[2], 1);
   return false;
  });
  
  
  
  function addCart(p1, p2, p3){
    if (!p3 || p3==0) {p3=1;}
    msg.id = p1; 		  // АйДи
    msg.price = parseInt(p2); // Цена
    msg.count = parseInt(p3); // Количество
    var check = false;
    var cnt = false;
	var iii='';
	var tt=':';
    var totalCountGoods = 0;
    var totalprice = 0;
    var goodsId = 0;
    var basket = '';
    $('#clearBasket').show();
    $('#checkOut').show();
    $('.hPb').show();
    $('.hPe').hide();
    basket = decodeURI($.cookie("basket"));
    if (basket=='null') {basket = '';}
    basketArray = basket.split(",");
    for(var i=0; i<basketArray.length-1;i++) {
        goodsId = basketArray[i].split(":");
	if(goodsId[0]==msg.id)	// ищем, не покупали ли мы этот товар ранее
	{
            check = true;
	    cnt   = goodsId[1];
	    break;
	}
    }
    if(!check) {
        basket+= msg.id + ':' + msg.count + ':' + msg.price + ',';
    } else {
       alert("Уже есть в корзине!");
    }
    if(!check) {
        alert("Добавлено!");
        basketArray = basket.split(",");// Находим все товары
        for(var i=0; i<basketArray.length-1;i++) {
	    goodsId = basketArray[i].split(":"); // Находим id товара, цену и количество
	    totalCountGoods+=parseInt(goodsId[1]);
		iii+=tt+parseInt(goodsId[0]);
	    totalprice+=parseInt(goodsId[1])*parseInt(goodsId[2]);
	}
	$('#totalGoods').text(totalCountGoods);
	$("#one").val(iii);
	$('#totalPrice').text(totalprice);
	$("#cena").val(totalprice);
	$.cookie("totalPrice", totalprice, {path: "/"});
	$.cookie("basket", basket, {path: "/"});
    }
}



$('#clearBasket').click(function() {
			$.cookie("totalPrice", '', {path: "/"});
			$.cookie("basket", '', {path: "/"});
			$('#totalPrice').text('0');
			$('#totalGoods').text('0');
			$('.hPb').hide();
			$('.hPe').show();
			$(this).hide();
			$('#checkOut').hide();
			$.jGrowl("Корзина очищена!");
			return false;
		});

		
		
</script>


Это скрипт добавления товара. Я предполагаю что на его же основе можно сделать скрипт удаления. Я пробовал сделать но что могу сказать вспоминаю JS. но работа с cookie для меня вообще не понятна особенно когда это чужой скрипт, который я просто оптимизировал.
Может кто разбирается в этом и может помочь, опишет и расскажет как это сделать напишет пример и поможет оптимизировать скрипт, я тому пару рублёв закину на счёт за труд.
Вот демо сайт с компонентом http://test.eroteks.ru/component/pri...iew=tovar&id=1
Не обращайте внимания на беспорядок и цифры в корзине это я тестю id товара что бы удалить.
Вся суть в том что я не просто хочу написать скрипт а понять как и что работает.
Как я понял нужно извлечь массив, удалить элемент и записать заново.
Ответить с цитированием