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


AjaxCart


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

#1 fastik

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

  • Assistent vsupport.club
  • PipPipPip
  • 161 сообщений
Репутация: 11
Начинающий
  • ГородТирасполь

Отправлено 25 May 2012 - 09:56 AM

Приветствую. Интересен вопрос по поводу AjaxCart. Сделал на одном магазине следующее: Выбрал метод работы корзины AjaxCart. Когда товаров нет, корзина выглядит так: Изображение
А когда добавляют, уже так:
Изображение
Шаблон Gromov вроде. Сделал это просто: подправил файл shopping_cart_info.tpl.html
<div align="left" id="cart" class="cart">
<div class="cartitle">Ваша корзина:</div>
{if $smarty.const.CONF_SHOW_ADD2CART == '1'}
{if $shopping_cart_value}
 
  <nobr>
  {$shopping_cart_items} {$smarty.const.CART_CONTENT_NOT_EMPTY}&nbsp;/&nbsp;{$shopping_cart_value_shown|replace:'"':'&quot;'}</nobr>
  <div style="padding-top: 10px;" align="left">
<a {if $smarty.const.CONF_OPEN_SHOPPING_CART_IN_NEW_WINDOW eq 1}
		    href="#" onclick="open_window('index.php?do=cart',500,300); return false"
		    {else}
		    href="{if $smarty.const.CONF_MOD_REWRITE eq 1}cart.html{else}index.php?shopping_cart=yes{/if}"
	  {/if}><img src="data/{$smarty.const.TPL}/cart_but.gif" alt=""></a>
	 
  <div class="phone1"><a href="{if $smarty.const.CONF_MOD_REWRITE eq 1}cart.html{else}index.php?shopping_cart=yes{/if}"></a> </div>
  </div>
  {else}{$smarty.const.STRING_CART_PR} {$smarty.const.CART_CONTENT_EMPTY}{/if}
{/if}
</div>
Добавил див с классом Phone1. Вот класс:
.phone1{background:url(phone1.gif) no-repeat top right;height:42px;padding-right:8px;margin: -50px 6px 0px 0px;}
Проблем не возникло вообще.
Но вот на другом сайте не получается, шаблон естественно другой. Вроде тоже делаю как и на этом, но во всплывающем окне не появляется надпись товар успешно добавлен! Только: идет добавление товара в корзину... и потом исчезает, но данные в блоке не обновляются. Только после обновления страницы. Подскажите где собака зарыта?
  • 0

#2 Dbus

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

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

Отправлено 25 May 2012 - 12:08 PM

аналогично нужно переделывать функцию добавления в корзину в user.js
  • 0
502 Bad Gateway

#3 gsm-group

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

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

Отправлено 27 May 2012 - 10:59 PM

аналогично нужно переделывать функцию добавления в корзину в user.js

Не вводите в заблуждение.
Вопрос решается в файле head.tpl.html в следующем участке:
  function doCart(req) {literal}{{/literal}
    if(document.getElementById('cart') && req["shopping_cart_value"] > 0){literal}{{/literal}
	    document.getElementById('cart').innerHTML = '<b>' + doCart_act1 + ':<\/b>&nbsp;&nbsp;' + req["shopping_cart_items"] +
	    '&nbsp;' + doCart_act2 + '<div style="padding-top: 4px;"><b>' + doCart_act3 + ':<\/b>&nbsp;&nbsp;' + req["shopping_cart_value_shown"] +
	    '<\/div><div style="padding-top: 10px;" align="center"><a class="over" {if $smarty.const.CONF_OPEN_SHOPPING_CART_IN_NEW_WINDOW eq 1}href="#" onclick="open_window(\'index.php?do=cart\',500,300);"{else}href="{if $smarty.const.CONF_MOD_REWRITE eq 1}cart.html{else}index.php?shopping_cart=yes{/if}"{/if}>' + doCart_act4 + '<\/a><\/div>';
	    document.getElementById('axcrt').innerHTML = doCart_act5;
  {literal}}}{/literal}

Т.е тут должно быть в точности повторение функций и классов с файлом shopping_cart_info.tpl.html заключенных в
<div id="cart">
.......
</div>

  • 1

#4 Dbus

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

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

Отправлено 28 May 2012 - 08:42 AM

А, пардон. Это я у себя повыносил все скрипты в user.js. Забыл совсем :)
  • 0
502 Bad Gateway

#5 fastik

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

  • Assistent vsupport.club
  • PipPipPip
  • 161 сообщений
Репутация: 11
Начинающий
  • ГородТирасполь

Отправлено 31 May 2012 - 07:26 AM

аналогично нужно переделывать функцию добавления в корзину в user.js

Не вводите в заблуждение.
Вопрос решается в файле head.tpl.html в следующем участке:
  function doCart(req) {literal}{{/literal}
	if(document.getElementById('cart') && req["shopping_cart_value"] > 0){literal}{{/literal}
		document.getElementById('cart').innerHTML = '<b>' + doCart_act1 + ':<\/b>&nbsp;&nbsp;' + req["shopping_cart_items"] +
		'&nbsp;' + doCart_act2 + '<div style="padding-top: 4px;"><b>' + doCart_act3 + ':<\/b>&nbsp;&nbsp;' + req["shopping_cart_value_shown"] +
		'<\/div><div style="padding-top: 10px;" align="center"><a class="over" {if $smarty.const.CONF_OPEN_SHOPPING_CART_IN_NEW_WINDOW eq 1}href="#" onclick="open_window(\'index.php?do=cart\',500,300);"{else}href="{if $smarty.const.CONF_MOD_REWRITE eq 1}cart.html{else}index.php?shopping_cart=yes{/if}"{/if}>' + doCart_act4 + '<\/a><\/div>';
		document.getElementById('axcrt').innerHTML = doCart_act5;
  {literal}}}{/literal}

Т.е тут должно быть в точности повторение функций и классов с файлом shopping_cart_info.tpl.html заключенных в
<div id="cart">
.......
</div>

Да, вроде сделал так же, но все равно не работает. Выложу код.

<div class="bag">
<span class="redcart">Ваша корзина:</span>
<div class="fil"></div>
{if $smarty.const.CONF_SHOW_ADD2CART == '1'}
{if $shopping_cart_value}

<nobr>
  {$shopping_cart_items} {$smarty.const.CART_CONTENT_NOT_EMPTY}&nbsp;/&nbsp;{$shopping_cart_value_shown|replace:'"':'&quot;'}</nobr>
   <div class="fil"></div>
  
    <a {if $smarty.const.CONF_OPEN_SHOPPING_CART_IN_NEW_WINDOW eq 1}
		    href="#" onclick="open_window('index.php?do=cart',500,300); return false"
		    {else}
		    href="{if $smarty.const.CONF_MOD_REWRITE eq 1}cart.html{else}index.php?shopping_cart=yes{/if}"
	  {/if}>{$smarty.const.CART_PROCEED_TO_CHECKOUT}</a>
	 
	 
	  <div class="bag2"><a href="{if $smarty.const.CONF_MOD_REWRITE eq 1}cart.html{else}index.php?shopping_cart=yes{/if}"></a></div>
	
  
{else}
  {$smarty.const.STRING_CART_PR} {$smarty.const.CART_CONTENT_EMPTY}
 
{/if}
{/if}
</div>

  function doCart(req) {literal}{{/literal}
    if(document.getElementById('cart') && req["shopping_cart_value"] > 0){literal}{{/literal}
	    document.getElementById('cart').innerHTML =
  '<span class="redcart">Ваша корзина:<\/span><div class="fil"><\/div>'
  + req["shopping_cart_items"]
  +'&nbsp;'
  + doCart_act2
  + '&nbsp;/&nbsp;'
  + req["shopping_cart_value_shown"]
  + '<div class="fil"><\/div><a {if $smarty.const.CONF_OPEN_SHOPPING_CART_IN_NEW_WINDOW eq 1}href="#" onclick="open_window(\'index.php?do=cart\',500,300); return false"{else}href="{if $smarty.const.CONF_MOD_REWRITE eq 1}cart.html{else}index.php?shopping_cart=yes{/if}"{/if}>{$smarty.const.CART_PROCEED_TO_CHECKOUT}<\/a><div class="bag2"><a href="{if $smarty.const.CONF_MOD_REWRITE eq 1}cart.html{else}index.php?shopping_cart=yes{/if}"><\/a><\/div> ';
	    document.getElementById('axcrt').innerHTML = doCart_act5;
  {literal}}}{/literal}

  • 0

#6 fastik

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

  • Assistent vsupport.club
  • PipPipPip
  • 161 сообщений
Репутация: 11
Начинающий
  • ГородТирасполь

Отправлено 01 June 2012 - 06:44 AM

Нашел свою ошибку:
  function doCart(req) {literal}{{/literal}
    if(document.getElementById('cart') && req["shopping_cart_value"] > 0){literal}{{/literal}
		    document.getElementById('cart').innerHTML =
У меня просто не было элемента с таким айди (cart), дописал все заработало. Спасибо.
  • 0