КОРЗИНА ДЛЯ SEBLOD

Реализация корзины в конструкторе контента Seblod посредством jQuery.

Конечно, никакой интернет-магазин не обойдётся без корзины. Конечно можно это сделать имитацию — заказ в один клик. С всплывающей формой для ввода контактов.

Предлагаю Вам реализацию корзины для seblod посредством jQuery. Для начала скачиваем/прикручиваем скрипты и инициализируем корзину:

standart.num.rar

в head добавляем:

<script src="templates/jblank/js/wicart.js" type="text/javascript"></script>
<script src="templates/jblank/js/wicart.num.js" type="text/javascript"></script>
<script language="javascript" type="text/javascript"> 
function sendkorz() { 
if(jQuery("input[name=soglasen]").prop("checked")){ 
 //если отмечен  
cart.sendOrder('formToSend,overflw,bsum'); return false; 
 }else{alert('Отметьте пожалуйста согласие на обработку данных, в соответствии с законом №152-ФЗ «О персональных данных» от 27.07.2006 ')}; 
};  
    var cart; 
var config; 
var wiNumInputPrefID; 
/* WI-GLOBAL-VARS */ 
jQuery(document).ready(function(){  
    cart = new WICard("cart"); 
    config = {'clearAfterSend':true, 'showAfterAdd':false}; 
    cart.init("basketwidjet", config); 
    WICartNum('cart', 'wicartnum', 'winum_'); 
    /* WI-MODULES */ 
});  
document.addEventListener('visibilitychange', function(e) { 
cart.init("basketwidjet", config); 
}, false); 
 
</script>

Далее в типе контента, который является товаром (я это делаю при закрытом замочке), создаем поле «цена» с хранилищем standart и названием cena.
То есть у нас получается цена товара будет хранится в таблице/поле #__cck_store_form_tovar.cena

Далее идём во вкладку content и создаем поле с типом «42», куда вставляем код (в поле PrepareContent):

$artid=JRequest::getInt('id');  //получаем id товара
$db =&amp; JFactory::getDbo(); //подключаемся к таблице
$db-&gt;setQuery ("
SELECT #__cck_store_form_tovar.cena, #__cck_store_form_tovar.code, #__content.title
FROM #__cck_store_form_tovar, #__content
WHERE #__cck_store_form_tovar.id = '$artid' AND #__content.id = '$artid'
");//получаем из неё цену, код товара (если нужно), название и пр.
$result = $db-&gt;loadObjectList(); //полученный результат получаем в массиве с названиями полей совпадающими с именами столбцов в таблице
foreach($result as $ff) {
 
 
$value = '<script>
var priceList = {
	"'.$artid.'" : {"id" : "'.$artid.'", "subid" : "'.$ff->code.'", "name" : "'.$ff->code.'-'.str_replace(array("'",'"'), '', $ff->title).'", "subname" : {}, "price" : "'.ceil($ff->cena).'"},
 
	};  //данные товара для кнопки купить
</script>';	
$value .= '
‘.$ff->cena.’

 

‘; //вывод цены в карточке товара либо можно вывести стандартно полем во вкладке content $value .= ‘

Кол-во:

//выбор количества товара — можно и не делать, тогда и скрипт num не нужно подключать в шапке ‘; //кнопка добавления в корзину }

Теперь осталось вывести корзину и настроить отправку заказа на почту.
Вывод корзины и формы на сайте делается либо вставкой кода в шаблон либо можно вывести модулем:

Введите ваши контактные данные

 

Ставя отметку, я даю свое согласие на обработку моих персональных данных в соответствии с законом №152-ФЗ «О персональных данных» от 27.07.2006 и принимаю условия Пользовательского соглашения

 

Ваш заказ:Корзина

Очистить

Далее для отправки содержимого корзины в корень сайта кидаем файл sendmail.php с соответствующими его настройками.
Возможно в htaccess нужно будет добавить

RewriteRule ^sendmail.php?(.+)$ sendmail.php?$1 [L]

Кстати в корзине реализовано необходимое согласие посетителя на обработку его данных, без которого владельцу сайта грозит штраф.

Вроде всё, все вопросы в комментариях.