Перейти к содержанию
BrynJons

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

Рекомендуемые сообщения

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

<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, например).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

попробуйте подставить другую версию 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 сайта с проблемой. А у остальных сотни сайтов без нее. И, боюсь, никто не будет заниматься выпрямлением ваших рук после того как вы изволите чтото "требовать" в такой форме.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

а ты вообще кто?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

проблема так и не решилась - что делать-то? :(

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

На одном из сайтов причина проблема найдена опытным путем - в шаблоне скоит скрипт, меняющий картинки - вот в нём и проблема!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

<?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 } ?>

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Решено у меня, просто поставил новый движок :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

<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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Столкнулся с этим сегодня, правда непонятно, послужил ли тому причиной модуль 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 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.