Модуль Ajax-корзина ZZX-Cart

Sam Jack

Капитан-Узурпатор
Команда форума
Созидатель
5 Май 2015
13.831
4.893
113
Россия
null-prog.ru
Для версии магазина ShopCMS 3.1.1 и 3.1.2
1. В админ-панели: Настройки=>Общие настройки.
- Задать в параметре "URL магазина" правильный адрес сайта
- Поставить галочку "Принудительная очистка кэша"
- Поставить галочку "Возможность заказа товаров с главной страницы"
- Выбрать пункт "AjaxCart" в "Метод работы корзины товаров"
- Выбрать пункт "Обязательна" "Регистрация пользователей"
2. В админ-панели: Информация=>Форма регистрации
- Выбрать пункт "Обязательно" напротив поля "Адрес"
- Выбрать пункт "Обязательно" напротив поля "Город"
- Выбрать пункт "Обязательно" напротив поля "Область (город)"
3. Закачать файлы (заменить):
core/tpl/user/default/index.tpl.html
core/tpl/user/default/register.tpl.html
core/tpl/user/default/shopping_cart.tpl.html
core/tpl/user/default/blocks/shopping_cart_info.tpl.html

4. Перенести папку zzx в корень сайта.
Дизайн корзины настрайвается в папке zzx. В папке расположены css файлы и gif картинки дизайна.
5. Отредактировать файл /core/tpl/user/default/head.tpl.html Найдите строчку в файле:
<link rel="shortcut icon" href="data/{$smarty.const.TPL}/favicon.ico" type="image/x-icon">

После этой строчки вставить код:
Код:
{literal}
<script type="text/jvascript" src="/zzx/prototype.js"></script>
<script type="text/jvascript" src="/zzx/effects.js"> </script>
<script type="text/jvascript" src="/zzx/window.js"> </script>
<script type="text/jvascript" src="/zzx/window_effects.js"> </script>
<link href="/zzx/default.css" rel="stylesheet" type="text/css" ></link>
<link href="/zzx/spread.css" rel="stylesheet" type="text/css" ></link>
<script type="text/jvascript">
function windowszzx(){
var win = new Window({className: "spread", title: " ", top:70, left:200, width:500, height:600, url: "index.php?shopping_cart=yes", showEffectOptions: {duration:1}})
win.show();                                           
}
</script>
{/literal}
Если у вас другой путь к шаблону, то главное прописать этот код в файле 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"><table cellspacing="0" cellpadding="0" class="fsttab"><tr><td><table cellspacing="0" cellpadding="0" class="sectb"><tr><td><a {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><\/td><\/tr><\/table><\/td><\/tr><\/table><\/div>';
document.getElementById('axcrt').innerHTML = doCart_act5;
{literal}}}{/literal}

Заменить на:
Код:
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"><table cellspacing="0" cellpadding="0" class="fsttab"><tr><td><table cellspacing="0" cellpadding="0" class="sectb"><tr><td><a href=# onclick="windowszzx();">' + doCart_act4 + '<\/a><\/td><\/tr><\/table><\/td><\/tr><\/table><\/div>';
document.getElementById('axcrt').innerHTML = doCart_act5;
{literal}}}{/literal}
6. В следующих файлах:
core/includes/register.php
core/includes/order3_billing.php
core/includes/order4_confirmation.php
core/includes/shopping_cart.php


Нужно дописать строчку:
$smarty->assign( "zzx", 1 );

Строчка дописывается в самом конце файла, но перед:
}?>

7. В файле core/includes/order2_shipping.php
Нужно дописать строчки:
Код:
$q = db_query("select a.customerID, b.zoneID FROM ptqg_customers a, ptqg_customer_addresses b WHERE a.Login='$_SESSION[log]' AND b.customerID=a.customerID");
$r = db_fetch_row($q);
$qqq = $r[1];      
$smarty->assign( "zzx", 1 );
$smarty->assign( "zzxx", $qqq );
Строчка дописывается в самом конце файла, но перед:
}?>

8. В файле /core/tpl/user/default/order2_shipping.tpl.html
Найти строчку:
{if $shipping_costs ne "n/a"}

Ниже дописать строчку:
{if $shipping_methods.SID eq "2" and $zzxx eq "77"} &nbsp; {else}
Код:
Чуть ниже закрывается вся секция, при закрытии {/section}
добавить {/if}
Число 77 - означает город по-умолчанию, то есть если магазин находится в Моcкве, значит пишите число 77
Число города берется из базы магазина, в таблице городов.