Присваиваем переменный 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