Надають змінний id для контейнера в масці виведення товару. Він надасть унікальні айді до кожного товару і дозволить надалі визначати їсти цей товар в обраному чи ні.
id="lf_c[+id+]"
На кнопку додавання в обране вішаємо виклик функції, а також надає їй клас sc_tov_favor
onClick="addToFav([+id+]);"
Створюємо сторінку "Вибране" та робимо в ній виклик функції. Можна через окремий шаблон чи маску.
<script>$(function(){showFav();});</script>
<div class="lf_favtov_c"></div>
Додаємо до зовнішнього файлу скриптів функцію
$(function(){
/* Находим избранное и отмечаем */
var fav = scsh_getFav(1);
if(fav.length){
var i2 = 0;
for(var i in fav){
var fb = $('#lf_c'+fav[i]+' .sc_tov_favor');
if(fb.length){
fb.addClass('active');
i2++;
};
};
$('.favor_num').text(fav.length);
};
});
/* Добавляем товар в избранное */
addToFav = function(id,s){
var a = false;
if(localStorage){
var col = 0;
var arr2 = (s)?localStorage.tovSrv:localStorage.tovFav;
if(arr2){
arr = arr2.split(',');
var ps = $.inArray(''+id+'',arr);
if(ps >= 0){
arr.splice(ps,1);
a = 2;
}else{arr.push(id); a = 1;};
}else{arr = []; arr.push(id); a = 1;}
col = Object.keys(arr).length;
if(s){localStorage.tovSrv = arr.join(',');}else{localStorage.tovFav = arr.join(',');};
var fb = $('#lf_c'+id+' .sc_tov_favor');
if(fb.length){fb.toggleClass('active');};
$('.favor_num').text(col);
};
return a;
}
scsh_getFav = function(a,s){
if(localStorage){
var arr2 = (s)?localStorage.tovSrv:localStorage.tovFav;
if(arr2){
return (a)?arr2.split(','):arr2;
}else{
return false;
}
};
}
function showFav(){
var fav = scsh_getFav();
if(fav){
$.ajax({url:"index-ajax.php?snippet=parents", dataType:'json', type:"POST", async:false, data:{id:1,item:fav,var:'price',nocont:1,tpl:'shop_tov'}, success:function(msg){
if(msg){
$('.lf_favtov_c').html(msg);
$('.lf_favtov_c .sc_tov_favor').addClass('active');
};
}});
}else{$('.lf_favtov_c').html('Нет товаров в списке!');}
};
У функції showFav() у масиві data введіть значення. Свою маску виведення (tpl), потрібні для виведення поля
data:{id:1,item:fav,var:'price',tpl:'shop_tov'}
Для відображення кількості товарів у вибраному надайте тегу з лічильником клас - favor_num