|
|
30.09.2013, 13:50
|
|
Руслан Густокашин
Студия Вэлпис
Зарегистрирован: 2012-02-06
Сообщений: 962
|
Конечно знаю! 
В /netcat/modules/default/function.inc.php добавьте следующие две функции:
Код: function addToRecentlyView($id) {
// Если товара нет в недавно просмотренных - добавляем его в начало, если есть -перемещаем в начало
if (!is_array($_SESSION['recently']))
$_SESSION['recently'] = array();
$ky = array_search($id, $_SESSION['recently']);
if ($ky !== false) {
unset($_SESSION['recently'][$ky]);
}
array_unshift($_SESSION['recently'], $id);
$_SESSION['recently'] = array_slice($_SESSION['recently'],0,6);
return $_SESSION['recently'];
}
function getRecentlyView() {
// Получение списка недавно просмотренных товаров
return $_SESSION['recently'];
}
В полном просмотре товара поставьте такой вызов (например, в самый конец):
Код:<? addToRecentlyView($f_RowID) ?>
В компоненте "Товар" создайте новый шаблон "Вы смотрели", в системных настройках которого напишите:
Код:$query_where="1";
$recently=getRecentlyView(); // получили массив с IDшками товаров
if(count($recently)) { // если есть - делаем выборку
$ignore_sub=$ignore_cc=1;
$glist=join(",",$recently);
$query_where .= " and a.Message_ID in ($glist)";
$query_order="FIELD(Message_ID,$glist)";
}
else $query_where = "1<0"; // если ничего не смотрели, то и фиг с ними
|
|
|
30.09.2013, 16:04
|
|
Гость
Гость
|
Хорошо, это я сделал, но как теперь мне вывести пользователю эти просмотренные товары?)
|
|
|
30.09.2013, 22:39
|
|
Руслан Густокашин
Студия Вэлпис
Зарегистрирован: 2012-02-06
Сообщений: 962
|
Но я ведь выше написал. Смотреть список ранее просмотренных товаров нужно с помощью шаблона "Вы смотрели", который вы создали.
Например, можно создать некий раздел, например "Просмотренные товары", добавить туда ваш товарный компонент, а шаблон вывода указать не стандартный, а "Вы смотрели". И тогда при заходе на сайте в этот раздел, будет показываться список недавно просмотренных товаров.
Также можно вызывать этот шаблон через s_list_class($sss,$ccc,"&nc_ctpl=XXX")
где $sss - номер раздела, $ccc - номер инфоблока в этом разделе, а XXX - номер, присвоенный шаблону "Вы смотрели".
|
|
|
01.10.2013, 08:24
|
|
Гость
Гость
|
Еху!) Работает однако)
Такой вопрос: сколько времени хранятся эти данные о посещениях?
|
|
|
01.10.2013, 12:56
|
|
Руслан Густокашин
Студия Вэлпис
Зарегистрирован: 2012-02-06
Сообщений: 962
|
Хранятся, пока не закроете все окна используемого браузера.
У меня есть вариант, основанный на COOKIE, там можно задать конкретный срок хранения (например, 10 лет). Если надо, могу завтра выложить в CatStore.
|
|
|
01.10.2013, 14:10
|
|
Гость
Гость
|
Да нет, спасибо, думаю и без этого можно обойтись)
|
|
|
01.10.2013, 14:23
|
|
Руслан Густокашин
Студия Вэлпис
Зарегистрирован: 2012-02-06
Сообщений: 962
|
А, ну и хорошо! Пользуйтесь на здоровье.
|
|
|
02.10.2013, 06:39
|
|
Гость
Гость
|
Или хотя, давайте!)
Зашел сегодня и просмотренных страниц как и не было,а лучше бы конечно, чтобы они держались хотя бы недельку)
|
|
|
02.10.2013, 07:07
|
|
Гость
Гость
|
И кстати говоря, доброе утро!)
|
|
|
02.10.2013, 18:05
|
|
Руслан Густокашин
Студия Вэлпис
Зарегистрирован: 2012-02-06
Сообщений: 962
|
Доброе! Договорились, выложу! Сообщу, как опубликуют.
|