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

Изменение сообщения о успешном добавлении в корзину

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

Собственно где находится html код этого сообщения или куда добавить свой

2012-12-24_000437.png

Хочу добавить туда две кнопки "Продолжить покупки" и "Оформить заказ", миниатюру товара и тд...

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


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

header.tpl

<div id="notification"></div>

catalog/language/russian/checkout/cart.php

$_['text_success']		   = 'Товар <a href="%s">%s</a> добавлен в <a href="%s">корзину покупок</a>!';

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

  • +1 1

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


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

Таким способом эта надпись всегда будет висеть. Надо в сторону JS копать.

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


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

Таким способом эта надпись всегда будет висеть. Надо в сторону JS копать.

это я к тому что там менять надо)) я же не говорю что именно это в div писать ))

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


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

Собственно где находится html код этого сообщения или куда добавить свой

2012-12-24_000437.png

Хочу добавить туда две кнопки "Продолжить покупки" и "Оформить заказ", миниатюру товара и тд...

файл catalog/view/javascript/common.js, заменяешь строку


$('#notification').html('<div class="success" style="display: none;">' + json['success'] + '<img src="catalog/view/theme/default/image/close.png" alt="" class="close"></div>');

на эту

$('#notification').html('<div class="success" style="display: none;">' + json['success'] + ' <a href="ссылка1">ссылка1</a> <a href="ссылка2">ссылка2</a>' + '<img src="catalog/view/theme/default/image/close.png" alt="" class="close"></div>');

  • +1 1

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


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

Может кто знает, как сделать, что-бы это сообщение само скрывалось через пару секунд?

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


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

Может кто знает, как сделать, что-бы это сообщение само скрывалось через пару секунд?

вместо

$('.success').fadeIn('slow');

пишите

$('.success').fadeIn(1000).delay(2000).fadeOut(1500);

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

сделать это надо в нескольких местах.

если сделать изменение в common.js только в функции addToCart, то соответственно будет само исчезать только при покупке товара из списка товаров в категории или списка, сформированного поиском.

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

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


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

sitecreator, спасибо большое, теперь буду знать, что это с помощью jquery сделано)

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

$('.success').slideDown(300).delay(2000).slideUp(300);

  • +1 1

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


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

Приветствую всех! Подскажите как сделать, чтобы данное сообщение о покупке

$('#notification').html('<div class="success" style="display: none;">' + json['success'] + '<img src="catalog/view/theme/default/image/close.png" alt="" class="close"></div>');

выводилось в той области страницы, где нажата кнопка "купить", а не вверху страницы.

Заранее спасибо!

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


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

Приветствую всех! Подскажите как сделать, чтобы данное сообщение о покупке

$('#notification').html('<div class="success" style="display: none;">' + json['success'] + '<img src="catalog/view/theme/default/image/close.png" alt="" class="close"></div>');

выводилось в той области страницы, где нажата кнопка "купить", а не вверху страницы.

Заранее спасибо!

надо открыть файл catalog/view/theme/default/template/common/header.tpl

в самом низу есть строчка <div id="notification"></div>, вырезать ее и вставить в файл шаблона в нужном месте, но надо учесть, что вставить надо в каждом шаблоне, где могут выводиться такие сообщения.

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


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

Может я не правильно обяснил - приношу извенения.

Поскольку товаров много и постоянное перебрасывание вверх страницы раздражает покупателя, хочу сделать вывод ссобщение о покупке товара на подобии базового, но только не вверху, а типа всплывающего сообщения только в "теле" страницы. В том или около того места товара, на котором покупатель жмет кнопку "купить".

Спасибо!

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


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

ну я про это и говорил, но если очень геморно получается то можно стилями выровнять, чтобы появлялось без поднятия вверх страницы. для этого в стилях задайте

#notification{
position: absolute;
right: 10px;
top: 10px;
}

этим сообщение будет выводится всегда справа вверху поверх сайта. чтобы убрать скроллинг вверх страниц надо в common.js в функции addToCart убрать строку вида $('.success').fadeIn('slow');

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


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

Так будет выводиться вверху страницы, а надо в видимой области страницы- туда где смотрит пользователь :)

Чтобы убрать скроллинг вы, наверно, хотели сказать убрать $('html, body').animate({ scrollTop: 0 }, 'slow');

Предлагаю такой вариант:

в стилях задаем #notification {position: absolute;}

в конец common.js добавляем:

function MoveCenterScreen(objID) {
var innerHeight_ = window.innerHeight ? window.innerHeight : document.documentElement.offsetHeight;
var obj = document.getElementById(objID);
obj.style.left = ( document.body.clientWidth / 2 - obj.clientWidth / 2 + document.body.scrollLeft) + 'px';
obj.style.top = ( document.documentElement.scrollTop + innerHeight_ / 2 - obj.clientHeight / 2 + document.body.scrollTop) + 'px';
}

А также там, где надо в common.js - MoveCenterScreen('notification');

P.S.

Подскажите где вставить самозакрытие сообщения "Корзина покупок обновлена!" при удалении товара из корзины ?

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


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

В дополнение еще вопрос:

Подскажите, в common.js , в ф-ции function addToCart есть строка $('.success').fadeIn('slow'); я ее заменил на $('.success').fadeIn(1000).delay(5000).fadeOut(1500);

Сообщение о добавлении товара в корзину скрывается после истечении времени, а кнопка закрыть (крестик) при нажатии не срабатывает - вдруг кому-то потребуется скрыть сообщение раньше?

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


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

У меня такая же задача - добавить ссылку "Продолжить покупки" и "Оформление заказа", но изменения Common.js ничего не дают. Использую модуль Simple может проблема в нем? А можно добиться этого результата редактированием cart.php?

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


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

Сделал все отлично - но на странице при изменинии карзины -сообщение не исчеает после 2 секунд - возможно ето надо в другом скрипте менять ? 

Подскажите кто в курсе 

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


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

Подскажите вот файл common.js в нём код отвечающий за вспылающее сообщение о добавлении товара в корзину(оно не исчезает хочу чтобы исчезало после 1-2 сек) 

				if (json['success']) {
				
					html  = '<div id="modal-cart" class="modal fade">';
					html += '  <div class="modal-dialog">';
					html += '    <div class="modal-content">';
					html += '      <div class="modal-body alert-success"><i class="fa fa-check-circle"></i> ' + json['success'] + '<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button></div>';
					html += '    </div>';
					html += '  </div>';
					html += '</div>';

					$('body').append(html);

					$('#modal-cart').modal('show');
					
					setTimeout(function () {
						$('#cart-total').html(json['total']);
					}, 100);

Шаблон не стандартный coloring не могу настроить чтобы исчезало, помогите пож.

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


Ссылка на сообщение
Поделиться на другие сайты
В 13.01.2013 в 03:19, sitecreator сказал:

$('.success').fadeIn('slow');


У меня вообще такого кода нет в common.js
У меня версия OpenCart 2.1.0.1  там даже function addToCart  нет. Ну тоесть функция есть, но у её синтаксис совсем другой.

var cart = {
	'add': function(product_id, quantity) {
		$.ajax({
			url: 'index.php?route=checkout/cart/add',
			type: 'post',
			data: 'product_id=' + product_id + '&quantity=' + (typeof(quantity) != 'undefined' ? quantity : 1),
			dataType: 'json',
			beforeSend: function() {
				$('#cart > button').button('loading');
			},
			complete: function() {
				$('#cart > button').button('reset');
			},
			success: function(json) {
				$('.alert, .text-danger').remove();

				if (json['redirect']) {
					location = json['redirect'];
				}

				if (json['success']) {
					$('#content').parent().before('<div class="alert alert-success"><i class="fa fa-check-circle"></i> ' + json['success'] + ' <button type="button" class="close" data-dismiss="alert">&times;</button></div>');

					// Need to set timeout otherwise it wont update the total
					setTimeout(function () {
						$('#cart > button').html('<span id="cart-total"><i class="fa fa-shopping-cart"></i> ' + json['total'] + '</span>');
					}, 100);

					$('html, body').animate({ scrollTop: 0 }, 'slow');

					$('#cart > ul').load('index.php?route=common/cart/info ul li');
				}
			},
	        error: function(xhr, ajaxOptions, thrownError) {
	            alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
	        }
		});
	},


 

Изменено пользователем Klaus
опечатка

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


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

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

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

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

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

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

Войти

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

Войти

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

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

×

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

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