Перейти к содержимому


Добавление товара в корзину


  • Вы не можете ответить в тему
Сообщений в теме: 33

#1 Izgoi

    Новичок

  • Пользователи
  • Pip
  • 6 сообщений
Репутация: 0
Начинающий

Отправлено 05 October 2011 - 09:32 AM

Всем привет
такой вопрос, подскажите как сделать.
При добавлении товара в корзину выскакивает такая табличка и сразу пропадает.
Изображение
Как сделать, что бы она не пропадала, а появлялась и на ней две кнопки - продолжить выбор товаров и перейти к оформлению заказа- ???
Спасибо )
  • 0

#2 webms

    Пользователь

  • Пользователи
  • PipPip
  • 24 сообщений
Репутация: 0
Начинающий

Отправлено 07 October 2011 - 10:39 AM

меня тоже интересует этот вопрос)
  • 0

#3 freemind

    Пользователь

  • Download User
  • PipPip
  • 12 сообщений
Репутация: 3
Начинающий

Отправлено 07 October 2011 - 02:29 PM

Тоже где-то встречал такой информер, заинтересовала...так что, присоединяюсь к вопросу))
  • 0

#4 Dbus

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 1116 сообщений
Репутация: 174
Мастер
  • ГородОдесса

Отправлено 07 October 2011 - 04:15 PM

имхо не уверен, что постоянно появляющееся окно с необходимостью чего-то там нажимать понравится покупателям больше простого сообщения.
  • 0
502 Bad Gateway

#5 Izgoi

    Новичок

  • Пользователи
  • Pip
  • 6 сообщений
Репутация: 0
Начинающий

Отправлено 08 October 2011 - 11:46 AM

оно все равно появляется и большинство делают именно по одному заказу. А так сразу, бум и оформить заказ, а так, добавил в корзину, потом ищи корзину и там уже тыкать. Т.е. к примеру тем кто первый раз делает заказ будет удобнее сразу перейти к оформлению, чем искать и думать, что делать дальше
  • 0

#6 Dbus

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 1116 сообщений
Репутация: 174
Мастер
  • ГородОдесса

Отправлено 08 October 2011 - 12:05 PM

Ну тогда мне кажется лучше выбрать в админке другой тип корзины и его уже допиливать под свои нужды. или в модальном окне делать, тем более highslide уже имеется, дополнительных скриптов можно не подключать.
  • 0
502 Bad Gateway

#7 Izgoi

    Новичок

  • Пользователи
  • Pip
  • 6 сообщений
Репутация: 0
Начинающий

Отправлено 08 October 2011 - 12:41 PM

не, это не катит
  • 0

#8 Robby

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 162 сообщений
Репутация: 75
Продвинутый

Отправлено 09 November 2011 - 02:30 PM

Задался тоже подобным функционалом, только не с постоянно висящим сообщением. Все что нужно сделать добавить ссылку на корзину в сообщение о том, что товар успешно добавлен.
Первое, нужно увеличить время показа этого окна
в файле data\ваш шаблон\user.js
ищем функцию function doLoad(forse)

function doLoad(forse) {
var agt=navigator.userAgent.toLowerCase();
var is_major = parseInt(navigator.appVersion);
var is_ie = ((agt.indexOf("msie") != -1) && (agt.indexOf("opera") == -1));
var is_ie6 = (is_ie && (is_major == 4) && (agt.indexOf("msie 6.")!=-1) && (agt.indexOf("msie 7.")==-1) && (agt.indexOf("msie 8.")==-1));
if(document.getElementById('axcrt')){
if ( !is_ie6 ){
document.getElementById('axcrt').style.left = Math.ceil((document.documentElement.clientWidth-300)/2)+'px';
document.getElementById('axcrt').style.top = Math.ceil((document.documentElement.clientHeight-100)/2)+'px';
}
if ( is_ie ){
if (document.styleSheets.length == 0) document.createStyleSheet();
var oSheet = document.styleSheets[0];
oSheet.addRule(".WCHhider", "visibility:hidden");
}
document.getElementById('axcrt').style.display = '';
document.getElementById('axcrt').style.visibility = 'visible';
}
JsHttpRequest.query(
'index.php', forse,
// Function is called when an answer arrives.
function(result, errors) {
setTimeout('doHide()',1500);
doCart(result);

},
true // do not caching
);
}


В ней в строке setTimeout('doHide()',1500); меняем значение 1500 (время показа в милисекундах), на большее, например 5500.
Далее открываем файл core\tpl\user\ваш шаблон\head.tpl.html
в нем находим

var doCart_act5 = '{$smarty.const.STRING_CART_OKAX}';

меняем

var doCart_act5 = '{$smarty.const.STRING_CART_OKAX}
{if $smarty.const.CONF_MOD_REWRITE eq 1}cart.html{else}index.php?shopping_cart=yes{/if}


Результат будет выглядеть так
Изображение
  • 0

#9 R.Sergey

    Администратор

  • Администраторы
  • 2810 сообщений
Репутация: 332
Мастер

Отправлено 09 November 2011 - 02:34 PM

Robby, сразу возникает вопрос, а можно ли закрыть это окошко самостоятельно чтобы не ждать пока исчезнет - например кликнув гдето за его пределами
  • 0

#10 Robby

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 162 сообщений
Репутация: 75
Продвинутый

Отправлено 09 November 2011 - 03:34 PM

R.Sergey, наверное можно сделать еще ссылку Закрыть вроде этого

var doCart_act5 = '{$smarty.const.STRING_CART_OKAX}
{if $smarty.const.CONF_MOD_REWRITE eq 1}cart.html{else}index.php?shopping_cart=yes{/if}

но так как-то глючно начинает работать после нажатия закрыть и при повторном добавлении товара в корзину
  • 0

#11 pavelbred

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 194 сообщений
Репутация: 4
Начинающий

Отправлено 29 May 2012 - 02:47 PM

Не не работает, фигня какая то), а все таки как во встроенной корзине оставить кнопку "Оформить заказ" которая исчезает при обновлении страницы?)
  • 0

#12 hels

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 176 сообщений
Репутация: 3
Начинающий

Отправлено 03 July 2013 - 12:33 PM

var doCart_act5 = '{$smarty.const.STRING_CART_OKAX} Открыть корзину<\/a><\/div>';

какая-то корявая запись..
я попробовал так:
var doCart_act5 =  '{$smarty.const.STRING_CART_OKAX}<div><a {if $smarty.const.CONF_MOD_REWRITE eq 1}cart.html{else}index.php?shopping_cart=yes{/if}>Открыть корзину</a></div>';
но не пашет, в чем дело, помогите кто-то.. что делаю не так? всплавает как и раньше - "Идет добавление товара в корзину..."
  • 1

#13 eugene_wb

    Продвинутый пользователь

  • Модераторы
  • 827 сообщений
Репутация: 167
Мастер

Отправлено 03 July 2013 - 12:58 PM

помогите кто-то.. что делаю не так?

https://www.google.com.ua/#safe=off&biw=1440&bih=739&sclient=psy-ab&q=экранирование+символов+javascript&oq=экранирование+сим&gs_l=hp.3.3.0l4.1182.4434.0.6538.17.8.0.9.9.1.220.1010.4j3j1.8.0....0...1c.1.19.psy-ab.VhijOdBkxy4&pbx=1&bav=on.2,or.r_cp.r_qf.&bvm=bv.48705608,d.bGE&fp=2c6acb002d4df950
  • 0
Изображение Изображение Изображение

#14 hels

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 176 сообщений
Репутация: 3
Начинающий

Отправлено 03 July 2013 - 02:24 PM

https://www.google.c...c6acb002d4df950

а я спецом их удалил, думаю че за бред) исправил, но всеравно не пашет:
  var doCart_act5 =  '{$smarty.const.STRING_CART_OKAX}<div><a {if $smarty.const.CONF_MOD_REWRITE eq 1}cart.html{else}index.php?shopping_cart=yes{/if}>Открыть корзину<\/a><\/div>';

если перенести на строку ниже, то окошко где написано "Идет добавление товара в корзину..." вообще не отображается..

можете закидать меня помидорами, пусть банально, но работает:
var doreset_act1 =  '{$smarty.const.STRING_CART_PROCESS}<div><a href="http://mobiline.dn.ua/cart.html">Открыть корзину<\/a><\/div>';
Блин, рано обрадовался, работать работает, но показывает ссылку "открыть корзину" только после второго клика по кнопке купить, т.е. 1 раз жму пишет без ссылки, еще раз жму уже с ссылкой показывает, на всем листе. Если перейти в другую категорию там, та же ситуация 1 клик без ссылки, потом с ссылкой показывает..


---------------------------------------------------
если же написать:
var doreset_act1 =  '{$smarty.const.STRING_CART_PROCESS}<div><a {if $smarty.const.CONF_MOD_REWRITE eq 1}cart.html{else}index.php?shopping_cart=yes{/if}>Открыть корзину<\/a><\/div>';
то отображается "Открыть корзину" причем красиво, по стилям сайта, но никуда не переходит... и объясните кто-то, что делает код в анкоре? или это та же ссылка что я написал выше и тайного смысла тут нет? ))

не знаю как, тут влияет, но сделал так, и проблема решилась:
  var doreset_act1 =  '{$smarty.const.STRING_CART_PROCESS}<div><a href="http://mobiline.dn.ua/cart.html">Открыть корзину<\/a><\/div>';
  var printcart_act1 =  '{$smarty.const.STRING_CART_PROCESS}<div><a href="http://mobiline.dn.ua/cart.html">Открыть корзину<\/a><\/div>';

конешно странно все это.. но работает) если у вас есть идеи как сделать "правильно" буду рад услышать..

вот как выглядит Изображение

Но вопрос теперь в другом, как сделать, чтобы при наведении мыши это окошко не исчезало? а то только значит увидел я это окно, навожу, а оно пропадает ;D
  • 1

#15 eugene_wb

    Продвинутый пользователь

  • Модераторы
  • 827 сообщений
Репутация: 167
Мастер

Отправлено 03 July 2013 - 02:34 PM

чувствую если hels, постоянно отправлять гугл и заставлять разбираться самого, из этого будет толк :)
  • 0
Изображение Изображение Изображение

#16 hels

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 176 сообщений
Репутация: 3
Начинающий

Отправлено 03 July 2013 - 02:43 PM

Но вопрос теперь в другом, как сделать, чтобы при наведении мыши это окошко не исчезало? а то только значит увидел я это окно, навожу, а оно пропадает ;D

как насчет этого, есть идеи?
  • 0

#17 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 03 July 2013 - 03:01 PM

чувствую если hels, постоянно отправлять гугл и заставлять разбираться самого, из этого будет толк

Надо автоматизировать. Радом с зеленой и красной кнопкой сделать синюю кнопку "послать в Гугл". И рейтинг выводить "послан в Гугл: X раз". Либо дискетные градации "Ленивец", "Мозгоклюй" и т.п. :)
  • 1
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#18 hels

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 176 сообщений
Репутация: 3
Начинающий

Отправлено 03 July 2013 - 03:22 PM

блин, сделать чтобы не пропадало я не нашел как, а если написать как тут:

var doCart_act5 = '{$smarty.const.STRING_CART_OKAX} {$smarty.const.CART_PROCEED_TO_CHECKOUT}<\/a> | Закрыть<\/a><\/div>';

то не показывает кнопку "закрыть".. подскажите в чем собака зарыта..
  • 0

#19 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 19 October 2013 - 02:50 PM

Сделал под заказ это мелкое исправление. Не понял, о чем копья ломались :).
Прикрепленный файл  1.JPG   22.49К   23 Количество загрузок:

Инструкция:
----------------

Прикрепленные файлы

  • Прикрепленный файл  install.txt   10.07К   50 Количество загрузок:

  • 1
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#20 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 19 October 2013 - 10:56 PM

Хе-хе... попутно нашлась очередная стопятисотая штатная ошибка в ShopCMS. Если посмотреть на функцию doCart(req) в head.tpl.html, то видно, что фраза "Товар успешно добавлен!" (переменная doCart_act5, она же константа STRING_CART_OKAX) будет выведена на экран только в случае включенной корзины (id="cart"). В штатном виде хрен-то с ним, никто и не замечает, а вот у этого дополнения в этой же константе находятся кнопки и onclick для последующих действий. Они, естестсвенно, тоже не будут показаны.

Исправление: Заменить

	    document.getElementById('axcrt').innerHTML = doCart_act5;
  {literal}}}{/literal}

на

{literal}}
	    document.getElementById('axcrt').innerHTML = doCart_act5;
}{/literal}


Бонус:

Если хотим запретить возможность нажатия чего либо пока не нажата одна из кнопок "Продолжить" или "В корзину", то:

в файле user.js:

4.1 в функции printcart() заменяем строку

document.write('<div id="axcrt" class="bf" align="center" style="position: fixed; display: none; z-index: 100; visibility: hidden; left: '+Math.ceil((document.documentElement.clientWidth-300)/2)+'px; top: '+Math.ceil((document.documentElement.clientHeight-100)/2)+'px;">' + printcart_act1 + '<\/div>');

на

document.write('<div id="axcrt" class="bf" align="center" style="position: fixed; display: none; z-index: 100; visibility: hidden; left: '+Math.ceil((document.documentElement.clientWidth-300)/2)+'px; top: '+Math.ceil((document.documentElement.clientHeight-100)/2)+'px;">' + printcart_act1 + '</div><div id="axcrt_back" style="background-color:transparent;position:fixed;top:0px;left:0px;z-index:99;display:none;visibility:hidden;"></div>');
$('#axcrt_back').css({'width':$(window).width()+'px','height':$(window).height()+'px'});

4.2 в функции doLoad(forse)

после строк

document.getElementById('axcrt').style.display = '';
document.getElementById('axcrt').style.visibility = 'visible';

добавляем

document.getElementById('axcrt_back').style.display = '';
document.getElementById('axcrt_back').style.visibility = 'visible';

4.3 в функции doHide()

после строк

document.getElementById('axcrt').style.visibility = 'hidden';
document.getElementById('axcrt').style.display = 'none';

добавляем

document.getElementById('axcrt_back').style.visibility = 'hidden';
document.getElementById('axcrt_back').style.display = 'none';

  • 1
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)