Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Не удаляется товар из мини корзины


MikeleCorleone

Recommended Posts

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

Сайт http://food-king.ru/index.php?route=product/product&path=57&product_id=101
Иногда срабатывает (удаляется товар), очень редко.  :|

Надіслати
Поділитися на інших сайтах


В стандартном опене, такой вот : 

onclick="(getURLVar('route') == 'checkout/cart' || getURLVar('route') == 'checkout/checkout') ? location = 'index.php?route=checkout/cart&remove=49095' : $('#cart').load('index.php?route=module/cart&remove=49095' + ' #cart > *');" 

а у вас:

onclick="$('.widget-holder').load('index.php?route=module/cart&remove=101:YToxOntpOjMwNztzOjE3OToi0KPQutCw0LbQuNGC0LUg0LbQtdC70LDQtdC80YvQtSDQtNCw0YLRgyDQuCDQstGA0LXQvNGPINC00LvRjyDQtNC+0YHRgtCw0LLQutC4ICjQndCw0L/RgNC40LzQtdGAOiDQmtCw0Log0LzQvtC20L3QviDRgdC60L7RgNC10LUg0LjQu9C4IDE5INCw0LLQs9GD0YHRgtCwINGBIDEzINC00L4gMTQg0YfQsNGB0L7QsikiO30=' + ' .widget-holder > *');"

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

Надіслати
Поділитися на інших сайтах

В стандартном опене, такой вот : 

onclick="(getURLVar('route') == 'checkout/cart' || getURLVar('route') == 'checkout/checkout') ? location = 'index.php?route=checkout/cart&remove=49095' : $('#cart').load('index.php?route=module/cart&remove=49095' + ' #cart > *');" 

а у вас:

onclick="$('.widget-holder').load('index.php?route=module/cart&remove=101:YToxOntpOjMwNztzOjE3OToi0KPQutCw0LbQuNGC0LUg0LbQtdC70LDQtdC80YvQtSDQtNCw0YLRgyDQuCDQstGA0LXQvNGPINC00LvRjyDQtNC+0YHRgtCw0LLQutC4ICjQndCw0L/RgNC40LzQtdGAOiDQmtCw0Log0LzQvtC20L3QviDRgdC60L7RgNC10LUg0LjQu9C4IDE5INCw0LLQs9GD0YHRgtCwINGBIDEzINC00L4gMTQg0YfQsNGB0L7QsikiO30=' + ' .widget-holder > *');"

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

Вот код onclick="$('.widget-holder').load('index.php?route=module/cart&remove=<?php echo $product['key']; ?>' + ' .widget-holder > *');"  не знаю почему браузер выдает такое, может дело в настройках хостинга

Разработчик и вправду не очень компетентный в опенкарте

Надіслати
Поділитися на інших сайтах


1. Добавьте где то в код миникорзины строку:

<?php $this->log->write('Product_key_from_minicart:'. print_r($product['key'],true)); ?>

2. Добавьте товар в корзину

3. Покажите, что в журнале ошибок показано под Product_key_from_minicart:

Надіслати
Поділитися на інших сайтах

1. Добавьте где то в код миникорзины строку:

<?php $this->log->write('Product_key_from_minicart:'. print_r($product['key'],true)); ?>

2. Добавьте товар в корзину

3. Покажите, что в журнале ошибок показано под Product_key_from_minicart:

2014-03-07 16:20:02 - PHP Notice:  Undefined variable: product in /var/www/u7630715/data/www/food-king.ru/catalog/view/theme/default/template/module/cart.tpl on line 2
2014-03-07 16:20:02 - Product_key_from_minicart:

<?php $this->log->write('Product_key_from_minicart:'. print_r($product['key'],true)); ?>
<div id="cart-holder">

    <div id="jigoshop_cart"><h3> <span class="cart_qty"><?php echo $text_items; ?></span></h3>

    <?php if ($products || $vouchers) { ?>
    <div class="widget-holder">
		  <ul class="cart_list">
			<?php foreach ($products as $product) { ?>
			<li>
			<a onclick="$('.widget-holder').load('index.php?route=module/cart&remove=<?php echo $product['key']; ?>' + ' .widget-holder > *');" class="remove">×</a>
			<div class="cart-extra"><a href="<?php echo $product['href']; ?>" title="Lamb cutlets"><span class="image-holder">
			<?php if ($product['thumb']) { ?>
				<img width="90" height="90" src="<?php echo $product['thumb']; ?>" class="attachment-shop_tiny wp-post-image" alt="<?php echo $product['name']; ?>" title="<?php echo $product['name']; ?>" />
			<?php } ?>
			</span><span class="js_widget_product_title"><?php echo $product['name']; ?></span></a><span class="js_widget_product_price"><?php echo $product['quantity']; ?> × <ins><?php echo $product['total']; ?></ins></span>
				</div>           
			  </li>
			<?php } ?>

		  </ul>
		<?php
		$ttl = end($totals);
		$deliv = 0;
		if($ttl['value'] < 600) {
			$deliv = 200;
			$ttl['value'] += 200;
		}
		?>  
		 <p class="total" style="margin-bottom: 0;
"><strong>Доставка:</strong>
		
		<?php	
		echo $deliv . ' р.';
		?>
		</p> 
		<p class="total"><strong>Итого:</strong>
		
		<?php	
		echo $ttl['value'] . ' р.';;
		?>
		</p>
		<p class="buttons">
		<a href="<?php echo $checkout; ?>" class="button_2 checkout">Оформить</a>
		</p>
	</div>

    <?php } else { ?>
    <div class="widget-holder">
		<span class="empty">Корзина пуста.</span>
	</div>
    <?php } ?>
</div>
</div>
Надіслати
Поділитися на інших сайтах


Сорри, это я не предусмотрел, попробуйте после: 

<?php foreach ($products as $product) { ?>

добавить...

Product_key_from_minicart:91:YToyOntpOjI4NztzOjE3OToi0KPQutCw0LbQuNGC0LUg0LbQtdC70LDQtdC80YvQtSDQtNCw0YLRgyDQuCDQstGA0LXQvNGPINC00LvRjyDQtNC+0YHRgtCw0LLQutC4ICjQndCw0L/RgNC40LzQtdGAOiDQmtCw0Log0LzQvtC20L3QviDRgdC60L7RgNC10LUg0LjQu9C4IDE5INCw0LLQs9GD0YHRgtCwINGBIDEzINC00L4gMTQg0YfQsNGB0L7QsikiO2k6Mjg4O3M6NDoiMjAwMCI7fQ==

Надіслати
Поділитися на інших сайтах


Просмотрел, это код присвоенной опции ($key = (int)$product_id . ':' . base64_encode(serialize($option));), что то сходу я не усёк этого или не видел раньше такой длинны, в общем тут всё норм, можете вырезать (временно) из карточки товара этот код:

<script>
    //uptolike share begin
    (function(d,c){
        var up=d.createElement('script'),
                s=d.getElementsByTagName('script')[0],
                r=Math.floor(Math.random() * 1000000);
        var cmp = c + Math.floor(Math.random() * 10000);
        var url = window.location.href;
        window["__uptolike_widgets_settings_"+cmp] = {};
        d.write("<div id='"+cmp+"' class='__uptlk' data-uptlkwdgtId='"+r+"'></div>");
        up.type = 'text/javascript'; up.async = true;
        up.src = "//w.uptolike.com/widgets/v1/widgets.js?b=fb.tw.ok.vk.gp&id=44427&o=1&m=1&sf=2&ss=2&sst=5&c1=ededed&c1a=0.0&c3=ff9300&c5=ffffff&mc=1&c2=ffffff&c4=ffffff&c4a=1.0&mcs=1&sel=1&fol=0&c=" + cmp + "&url="+encodeURIComponent(url);
        s.parentNode.insertBefore(up, s);
    })(document,"__uptlk");
    //uptolike share end
</script>

Надіслати
Поділитися на інших сайтах

 

Просмотрел, это код присвоенной опции ($key = (int)$product_id . ':' . base64_encode(serialize($option)) ;), что то сходу я не усёк этого или не видел раньше такой длинны, в общем тут всё норм, можете вырезать (временно) из карточки товара этот код:

<script>
    //uptolike share begin
    (function(d,c){
        var up=d.createElement('script'),
                s=d.getElementsByTagName('script')[0],
                r=Math.floor(Math.random() * 1000000);
        var cmp = c + Math.floor(Math.random() * 10000);
        var url = window.location.href;
        window["__uptolike_widgets_settings_"+cmp] = {};
        d.write("<div id='"+cmp+"' class='__uptlk' data-uptlkwdgtId='"+r+"'></div>");
        up.type = 'text/javascript'; up.async = true;
        up.src = "//w.uptolike.com/widgets/v1/widgets.js?b=fb.tw.ok.vk.gp&id=44427&o=1&m=1&sf=2&ss=2&sst=5&c1=ededed&c1a=0.0&c3=ff9300&c5=ffffff&mc=1&c2=ffffff&c4=ffffff&c4a=1.0&mcs=1&sel=1&fol=0&c=" + cmp + "&url="+encodeURIComponent(url);
        s.parentNode.insertBefore(up, s);
    })(document,"__uptlk");
    //uptolike share end
</script>

Вырезал из footer.tpl или вы какое место имели ввиду? результата нет.

Надіслати
Поділитися на інших сайтах


Да, наверное в футере (ошибкой что то светило место то)... на данный момент, ошибки нет, но всёравно не удаляет...

 

Попробуйте текущий (в миникорзине): 

<a onclick="$('.widget-holder').load('index.php?route=module/cart&remove=<?php echo $product['key']; ?>' + ' .widget-holder > *');" class="remove">×</a>

заменить на 

<a onclick="removeCart('<?php echo $product['key']; ?>');" class="remove" >×</a>

а в самом низу добавить код:

<script type="text/javascript"><!--
function removeCart(key) {
	$.ajax({
		url: 'index.php?route=checkout/cart',
		type: 'get',
		data: 'remove=' + key,
		dataType: 'html',
		success: function(json) {
			//$('.success, .warning, .attention, .information').remove();
			
			window.location='index.php?route=common/home';			
		}
	});
}
//--></script>
Надіслати
Поділитися на інших сайтах

 

Да, наверное в футере (ошибкой что то светило место то)... на данный момент, ошибки нет, но всёравно не удаляет...

 

Попробуйте текущий (в миникорзине): 

<a onclick="$('.widget-holder').load('index.php?route=module/cart&remove=<?php echo $product['key']; ?>' + ' .widget-holder > *');" class="remove">×</a>

заменить на 

<a onclick="removeCart('<?php echo $product['key']; ?>');" class="remove" >×</a>

а в самом низу добавить код:

<script type="text/javascript"><!--
function removeCart(key) {
	$.ajax({
		url: 'index.php?route=checkout/cart',
		type: 'get',
		data: 'remove=' + key,
		dataType: 'html',
		success: function(json) {
			//$('.success, .warning, .attention, .information').remove();
			
			window.location='index.php?route=common/home';			
		}
	});
}
//--></script>

Сделал, перебрасывает на главную но не удаляет

Надіслати
Поділитися на інших сайтах


Просмотрел, далее ошибки в коде смотреть надо, всюду ли get передает, может с опциями повязано, хотя с оформления заказа - норм удаляет, а вот с мини и самой корзины - чего то стесняется...

Надіслати
Поділитися на інших сайтах

https://opencartforum.com/topic/18064-resheno-ne-udaliaiutsia-tovary-iz-korziny/
https://opencartforum.com/topic/18823-%D1%82%D0%BE%D0%B2%D0%B0%D1%80-%D1%81-%D0%BE%D0%BF%D1%86%D0%B8%D1%8F%D0%BC%D0%B8-%D0%BD%D0%B5-%D1%83%D0%B4%D0%B0%D0%BB%D1%8F%D0%B5%D1%82%D1%81%D1%8F-%D0%B8%D0%B7-%D0%BA%D0%BE%D1%80%D0%B7%D0%B8%D0%BD%D1%8B/

Проблема не только у меня, неужели придется удалять texarea на другом сайте 1.5.5.1 с тестовым товаром по умолчанию товар удаляется, а на этом магазине 1.5.4.1

Надіслати
Поділитися на інших сайтах


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

Надіслати
Поділитися на інших сайтах

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.