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

В корзине не работает кнопка "удалить" (крестик)


Recommended Posts

В корзине не работает кнопка "удалить" (крестик) - такое впечатление, что она ни с чем не связана :)

<td align="left" valign="top" style="width:2px">
<span class="cart_remove" id="remove_84"></span>
</td>

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


если шаблон не стандартный, то возможно убили нужные скрипты.

проверьте

catalog/view/theme/default/template/module/cart.tpl
$(document).ready(function () {
	$('.cart_remove').live('click', function () {
		if (!confirm('<?php echo $text_confirm; ?>')) {
			return false;
		}
		$(this).removeClass('cart_remove').addClass('cart_remove_loading');
		$.ajax({
			type: 'post',
			url: 'index.php?route=module/cart/callback',
			dataType: 'html',
			data: 'remove=' + this.id,
			success: function (html) {
				$('#module_cart .middle').html(html);
				if (getUrlParam('route').indexOf('checkout') != -1) {
					window.location.reload();
				}
			}
		});
	});
});
если все на месте, тогда, возможно, начудили что-то в контроллере, в блоке callback-функции, отвечающем за удаление товара.
Надіслати
Поділитися на інших сайтах

если шаблон не стандартный, то возможно убили нужные скрипты.

проверьте

catalog/view/theme/default/template/module/cart.tpl
$(document).ready(function () {
	$('.cart_remove').live('click', function () {
		if (!confirm('<?php echo $text_confirm; ?>')) {
			return false;
		}
		$(this).removeClass('cart_remove').addClass('cart_remove_loading');
		$.ajax({
			type: 'post',
			url: 'index.php?route=module/cart/callback',
			dataType: 'html',
			data: 'remove=' + this.id,
			success: function (html) {
				$('#module_cart .middle').html(html);
				if (getUrlParam('route').indexOf('checkout') != -1) {
					window.location.reload();
				}
			}
		});
	});
});
если все на месте, тогда, возможно, начудили что-то в контроллере, в блоке callback-функции, отвечающем за удаление товара.

я проверял на двух разных магазинах, на разных хостингах

в одном случае шаблон стандартный, во втором - нет

ЗЫ: код на месте, куда рыть дальше?

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


сначала надо посмотреть в gChrome или firebug, что приходит в ответе на ajax-запрос.

а потом

catalog/controller/module/cart.php
функция callback, часть про удаление (поиск в функции по слову "remove").
Надіслати
Поділитися на інших сайтах

сначала надо посмотреть в gChrome или firebug, что приходит в ответе на ajax-запрос.

не оно?

Ошибка: $(".cart_remove").live is not a function

Строка: 431

catalog/controller/module/cart.php
функция callback, часть про удаление (поиск в функции по слову "remove").

судя по размерам, файл не изменялся

post-7324-0-94933700-1304550111_thumb.png

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


это в чем смотрели?

такое могло выскочить в IE или, например, в случае, если с jquery какие-то проблемы.

в других местах (языки, валюты, вкладки у товаров, отзывы) jquery работает нормально?

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

это в чем смотрели?

это в консоли ошибок в FF

в других местах (языки, валюты, вкладки у товаров, отзывы) jquery работает нормально?

вроде да - только что оставил отзыв!
Надіслати
Поділитися на інших сайтах


ссылку на сайт надо бы.

попробуйте подставить другую версию jquery, поновее (с google, например).

так оно проявляется на ДВУХ сайтах на РАЗНЫХ хостингах, в том числе и том, где софт обновлялся 2 дня назад!

для примера cosmetic59.ru

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


вам сначала ошибки пофиксить надо (gChrome -> Resources).

на странице корзины:

<param> is not allowed inside <div>. Content ignored.
Unmatched </embed> encountered.  Ignoring tag.
<input> is not allowed inside <tbody>. Inserting <input> before the <table> instead.
<a> misnested or not properly closed.  Cloning <a> in order to preserve the styles applied by it.
[The HTML that caused this error was generated by a script.] Unmatched </embed> encountered.  Ignoring tag.
Uncaught TypeError: Object #<an Object> has no method 'autocomplete'

на странице товара:

<param> is not allowed inside <div>. Content ignored.
Unmatched </embed> encountered.  Ignoring tag.
<input> is not allowed inside <tbody>. Inserting <input> before the <table> instead.
<a> misnested or not properly closed.  Cloning <a> in order to preserve the styles applied by it.
[The HTML that caused this error was generated by a script.] Unmatched </embed> encountered.  Ignoring tag.
Uncaught TypeError: Object #<an Object> has no method 'autocomplete'
Надіслати
Поділитися на інших сайтах

вам сначала ошибки пофиксить надо (gChrome -> Resources).

на странице корзины:

<param> is not allowed inside <div>. Content ignored.
Unmatched </embed> encountered.  Ignoring tag.
<input> is not allowed inside <tbody>. Inserting <input> before the <table> instead.
<a> misnested or not properly closed.  Cloning <a> in order to preserve the styles applied by it.
[The HTML that caused this error was generated by a script.] Unmatched </embed> encountered.  Ignoring tag.
Uncaught TypeError: Object #<an Object> has no method 'autocomplete'

на странице товара:

<param> is not allowed inside <div>. Content ignored.
Unmatched </embed> encountered.  Ignoring tag.
<input> is not allowed inside <tbody>. Inserting <input> before the <table> instead.
<a> misnested or not properly closed.  Cloning <a> in order to preserve the styles applied by it.
[The HTML that caused this error was generated by a script.] Unmatched </embed> encountered.  Ignoring tag.
Uncaught TypeError: Object #<an Object> has no method 'autocomplete'

что делать-то?

и не может же быть так, что два разных человека на двух разных сайтах допустили одинаковые ошибки!

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


что делать-то?

ошибки исправлять

и не может же быть так, что два разных человека на двух разных сайтах допустили одинаковые ошибки!

может быть все, что угодно.

тем не менее я не говорил про "одинаковые ошибки".

я указал вам ошибки на конкретном сайте.

исправьте их, потом можно будет двигаться дальше.

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

потребовать исправления ошибок от того, кто занимался сайтом.

или разбираться самому, "откуда ноги ошибок ростут", или нанять кого-то.

или вы думаете, что я буду сидеть и выискивать причины возникновения ошибок и способы их устранения? :lol:

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

потребовать исправления ошибок от того, кто занимался сайтом.

от самого себя?

или разбираться самому, "откуда ноги ошибок ростут", или нанять кого-то.

или вы думаете, что я буду сидеть и выискивать причины возникновения ошибок и способы их устранения? :lol:

так сложно ответить?

и, как я уже сказал, ДВА РАЗНЫХ сайта имеют ОДНУ проблему - то есть она явно не связана с внесенными модификациями!

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


BrynJons , можно я скажу по другому?

Вы тут как бы намекаете на некое "огромное" число проблемных сайтов. У вас 2 сайта с проблемой. А у остальных сотни сайтов без нее. И, боюсь, никто не будет заниматься выпрямлением ваших рук после того как вы изволите чтото "требовать" в такой форме.

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


  • 2 months later...

Там играют роль даже названия css-классов, потому, если их меняли в шаблоне - и оттуда ноги могут расти.

вообще, надо живьем смотреть на сайте, а не в кусках кода.

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


  • 2 months later...

А у меня даже значка нет на корзине с крестиком в модуле, пришлось сделать ссылку со слова "Корзина" чтобы уже в нее переходит и там убирать, может кто знает что подправить в коде чтобы появился? Пытался вставить кусок скрипта сверху в код, чо-то не заработало. Вот исходный код:

<?php if ($ajax) { ?>

<script type="text/javascript"><!--

$(document).ready(function () {

$('#add_to_cart').replaceWith('<a onclick="" id="add_to_cart" class="button">' + $('#add_to_cart').html() + '</a>');

$('#add_to_cart').click(function () {

$.ajax({

type: 'post',

url: 'index.php?route=module/cart/callback',

dataType: 'html',

data: $('#product :input'),

success: function (html) {

$('#module_cart .agregar_al_carrito').html(html);

$(".agregar_al_carrito").children("div").addClass("precio").wrap("<div class='subtotal'></div>");

},

complete: function () {

var image = $('#image').offset();

var cart = $('#module_cart').offset();

$('#image').before('<img src="' + $('#image').attr('src') + '" id="temp" style="position: absolute; top: ' + image.top + 'px; left: ' + image.left + 'px;" />');

params = {

top : cart.top + 'px',

left : cart.left + 'px',

opacity : 0.0,

width : $('#module_cart').width(),

heigth : $('#module_cart').height()

};

$('#temp').animate(params, 'slow', false, function () {

$('#temp').remove();

});

}

});

});

});

//--></script>

<?php } ?>

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


  • 2 years later...

Аналогичная ситуация.. помогите разобраться (если нахожусь в самой корзине - удаляется норм - но не на главной)

<div id="cart">
  <div class="heading">
    <h4><?php echo $heading_title; ?></h4>
    <a><span id="cart-total"><?php echo $text_items; ?></span></a></div>
  <div class="content">
    <?php if ($products || $vouchers) { ?>
    <div class="mini-cart-info">
      <table>
        <?php foreach ($products as $product) { ?>
        <tr>
          <td class="image"><?php if ($product['thumb']) { ?>
            <a href="<?php echo $product['href']; ?>"><img src="<?php echo $product['thumb']; ?>" alt="<?php echo $product['name']; ?>" title="<?php echo $product['name']; ?>" /></a>
            <?php } ?></td>
          <td class="name"><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a>
            <div>
              <?php foreach ($product['option'] as $option) { ?>
              - <small><?php echo $option['name']; ?> <?php echo $option['value']; ?></small><br />
              <?php } ?>
            </div></td>
          <td class="quantity">x <?php echo $product['quantity']; ?></td>
          <td class="total"><?php echo $product['total']; ?></td>
          <td class="remove"><img src="catalog/view/theme/default/image/remove-small.png" alt="<?php echo $button_remove; ?>" title="<?php echo $button_remove; ?>" onclick="(getURLVar('route') == 'checkout/cart' || getURLVar('route') == 'checkout/checkout') ? location = 'index.php?route=checkout/cart&remove=<?php echo $product['key']; ?>' : $('#cart').load('index.php?route=module/cart&remove=<?php echo $product['key']; ?>' + ' #cart > *');" /></td>
        </tr>
        <?php } ?>
        <?php foreach ($vouchers as $voucher) { ?>
        <tr>
          <td class="image"></td>
          <td class="name"><?php echo $voucher['description']; ?></td>
          <td class="quantity">x 1</td>
          <td class="total"><?php echo $voucher['amount']; ?></td>
          <td class="remove"><img src="catalog/view/theme/default/image/remove-small.png" alt="<?php echo $button_remove; ?>" title="<?php echo $button_remove; ?>" onclick="(getURLVar('route') == 'checkout/cart' || getURLVar('route') == 'checkout/checkout') ? location = 'index.php?route=checkout/cart&remove=<?php echo $voucher['key']; ?>' : $('#cart').load('index.php?route=module/cart&remove=<?php echo $voucher['key']; ?>' + ' #cart > *');" /></td>
        </tr>
        <?php } ?>
      </table>
    </div>
    <div class="mini-cart-total">
      <table>
        <?php foreach ($totals as $total) { ?>
        <tr>
          <td class="right"><b><?php echo $total['title']; ?>:</b></td>
          <td class="right"><?php echo $total['text']; ?></td>
        </tr>
        <?php } ?>
      </table>
    </div>
    <div class="checkout"><a href="<?php echo $cart; ?>"><?php echo $text_cart; ?></a> | <a href="<?php echo $checkout; ?>"><?php echo $text_checkout; ?></a></div>
    <?php } else { ?>
    <div class="empty"><?php echo $text_empty; ?></div>
    <?php } ?>
  </div>
</div>

13f5ae29e6f6.jpg

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


  • 7 months later...

Столкнулся с этим сегодня, правда непонятно, послужил ли тому причиной модуль simplecheckout или быдло-кодинг :)

 

Энивей, помогло убрать проверку пути в module/cart.tpl

Художественная резьба топором :)

 

21 и 30 строка

<td class="remove"><img src="catalog/view/theme/default/image/remove-small.png" alt="<?php echo $button_remove; ?>" title="<?php echo $button_remove; ?>" onclick=(getURLVar('route') == 'checkout/cart' || getURLVar('route') == 'checkout/checkout') ? location = 'index.php?route=checkout/cart&remove=<?php echo $product['key']; ?>' : $('#cart').load('index.php?route=module/cart&remove=<?php echo $product['key']; ?>' + ' #cart > *');" /></td>

делаем

<td class="remove"><img src="catalog/view/theme/default/image/remove-small.png" alt="<?php echo $button_remove; ?>" title="<?php echo $button_remove; ?>" onclick="$('#cart').load('index.php?route=module/cart&remove=<?php echo $product['key']; ?>' + ' #cart > *');" /></td>

вроде работает

 

1.5.5.1.2

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


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

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

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

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

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

Вхід

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

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

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