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

Добавление в корзину из списка на AJAX [Доработка]

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

Ковырял вот тут версию 0.0.7, попросили сделать добавление в корзину на ajax из списка продукции.

Вот собсно выкладываю решение (не знаю только было уже или нет, ничего не нашел):

открываем /catalog/view/javascript/jquery/ajax_add.js и дабы ничего из работающего нигде не сломалось, добавляем новую функцию в этот файл

function atc(id) {		$.ajax({			type: 'post',			url: 'index.php?route=module/cart/callback',			dataType: 'html',			data: $('#'+id+' :input'),			success: function (html) {				$('#module_cart .middle').html(html);			},			complete: function () {				var image = $('#image_'+id).offset();				var cart  = $('#module_cart').offset();				$('#image_'+id).before('<img src="' + $('#image_'+id).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();				});			}		});}

Далее открываем /catalog/controller/product/category.php

ищем в нем примерно следующее:

'name'    => $result['name'],						'model'   => $result['model'],            			'rating'  => $rating,
и добавляем перед этим

'id'    => $result['product_id'],

Открываем /catalog/view/theme/default/template/product/category.tpl

ищем где выводится изображение товара

<img src="<?php echo $products[$i]['thumb']; ?>" title="<?php echo $products[$i]['name']; ?>" alt="<?php echo $products[$i]['name']; ?>" />
и добавляем в тег

id="image_product<?=$i?>"
находим

<?php if ($display_price) { ?>
ниже добавляем

<form action="/index.php?route=checkout/cart" method="post" enctype="multipart/form-data" id="product<?=$i?>">
перед закрытием условия <?php if ($display_price) { ?>

<?php } ?>
добавляем

<input type="hidden" name="quantity" value="1" />                          <input type="hidden" name="product_id" value="<?=$products[$i]['id']?>" />                        </form>
меняем href ссылки добавления в корзину на onclick и добавляем id

onclick="atc('product<?=$i?>')" id="add_to_cart1"

На этом все. Добавление в каталоге на аяксе у нас теперь тоже есть. во всех остальных местах сделать по образу и подобию.

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


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

Добавление в корзину последних товаров на главной странице

открываем catalogviewthemedefaulttemplatemodulelatest_home.tpl

ищем примерно следующее

<a href="<?php echo str_replace('&', '&', $products[$j]['href']); ?>"><img src="<?php echo $products[$j]['thumb']; ?>" title="<?php echo $products[$j]['name']; ?>" alt="<?php echo $products[$j]['name']; ?>" /></a>
в тег <img> добавляем следующее:
id="image_product<?=$j+999?>"

ищем

<?php if ($display_price) { ?>
ниже вставляем

<form action="/index.php?route=checkout/cart" method="post" enctype="multipart/form-data" id="product<?=$j+999?>">

ищем

<a class="button_add_small" href="<?php echo $products[$j]['add']; ?>" title="<?php echo $button_add_to_cart; ?>" > </a>
заменяем на

<a class="button_add_small" onclick="atc('product<?=$j+999?>')" id="add_to_cart1" title="Добавить в корзину"> </a>

ищем закрывающую скобку

<?php } ?>
элемента

<?php if ($display_price) { ?>
перед скобкой вставляем

<input type="hidden" name="quantity" value="1" />                          <input type="hidden" name="product_id" value="<?=$products[$j]['product_id']?>" />                        </form>

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


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

Блин помогите Как добавить добавление через ajax в файле catalog\view\theme\Тема\template\product\product.tpl Чёт не получается! Версия 0.1.9

------------

Всё уже не надо сделал...

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


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

Fakamaz, там это по-умолчанию есть.

надо только в админке включить AJAX в корзине

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


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

Для публикации сообщений создайте учётную запись или авторизуйтесь

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

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

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

×

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

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