Вывод количества товаров в корзине заказа в произвольном месте страницы

Этот совет предназначен для использования в интернет-магазинах на базе конструктора сайтов e-Gloryon.

Коды товаров, которые посетитель магазина добавил в корзину, хранятся в cookie браузера. С помощью небольшого кода на языке javascript, мы можем получить их и вывести количество в любом месте страницы в виде такой строки:

В корзине заказа 5 товаров

Ссылка будет вести на страницу оформления заказа http://ваш_сайт.ru/shoppingcart.

Если же корзина пуста, скрипт будет выводить строку:

Корзина заказа пуста

Итак, все что вам нужно сделать - это скопировать код, приведенный ниже, и вставить в желаемое место на сайт. Например в рекламу в шапке сайта.

<div id="jsShoppingCart"></div>

<script type="text/javascript">
function plural_word (n) {
  if (n % 100 > 10 && n % 100 < 20) return 'товаров';
  switch (n % 10) { case 1:return 'товар';case 2:return 'товара';case 3:return 'товара';case 4:return 'товара';default:return 'товаров'; }
}
var global_cooka = 'no-cooka';
function show_shcart() {
  var cooka = get_cookie('shoppingcart');
  if (!cooka) { document.getElementById('jsShoppingCart').innerHTML = '<div class="div-shoppingcart">Козина заказа пуста</div>'; }
  else {
    if (cooka == global_cooka) { return; }
    else {
      res = cooka.match(/\d{4,8}:\d{1,4}/g);
      if (!res) { document.getElementById('jsShoppingCart').innerHTML = '<div class="div-shoppingcart">Козина заказа пуста</div>'; }
      else {
        count = 0;
        for (var i = 0; i < res.length; i ++) { c = res[i].match(/\d+$/);count += parseInt(c); }
        document.getElementById('jsShoppingCart').innerHTML =
        '<div class="div-shoppingcart">В вашей корзине <a href="/shoppingcart">' + count + ' ' + plural_word(count) + '</a></div>';
      }
      global_cooka = cooka;
    }
  }
}
show_shcart();
var oldHandler = window['onload'];
window['onload'] = function() {
  if (typeof(oldHandler) == 'function') { oldHandler(); }
  var f = document.getElementById('pageContent');
  if (f) {
    var inputs = f.getElementsByTagName('input');
    if (inputs && inputs.length) {
      for (var i = 0; i < inputs.length; i ++) {
        elem = inputs[i];
        elem.onblur = function() { setTimeout(function() { show_shcart(); }, 100); };
      }
    }
  }
}
</script>

Вы также можете управлять расположением блока с id="jsShoppingCart" (это блок в котором и появится текст) с помощью CSS.