Регистрация
Вход через соцсети
Восстановление пароля

Как вывести URL страницы в компоненте? И как сделать такую ссылку: /?recNum=10&sort=sale ?

Новый топик
Страницы: 1  |  2  |  3  |  4  |  5
30.09.2013, 13:50
Ответить | Цитировать
Руслан Густокашин
Студия Вэлпис
Руслан Густокашин

Зарегистрирован:
2012-02-06
Сообщений: 869

Конечно знаю! улыбка
В /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
Сообщений: 869

Но я ведь выше написал. улыбка Смотреть список ранее просмотренных товаров нужно с помощью шаблона "Вы смотрели", который вы создали.
Например, можно создать некий раздел, например "Просмотренные товары", добавить туда ваш товарный компонент, а шаблон вывода указать не стандартный, а "Вы смотрели". И тогда при заходе на сайте в этот раздел, будет показываться список недавно просмотренных товаров.
Также можно вызывать этот шаблон через s_list_class($sss,$ccc,"&nc_ctpl=XXX")
где $sss - номер раздела, $ccc - номер инфоблока в этом разделе, а XXX - номер, присвоенный шаблону "Вы смотрели".

01.10.2013, 08:24
Ответить | Цитировать
Гость
Гость

Еху!) Работает однако)
Такой вопрос: сколько времени хранятся эти данные о посещениях?
01.10.2013, 12:56
Ответить | Цитировать
Руслан Густокашин
Студия Вэлпис
Руслан Густокашин

Зарегистрирован:
2012-02-06
Сообщений: 869

Хранятся, пока не закроете все окна используемого браузера.
У меня есть вариант, основанный на COOKIE, там можно задать конкретный срок хранения (например, 10 лет). Если надо, могу завтра выложить в CatStore.

01.10.2013, 14:10
Ответить | Цитировать
Гость
Гость

Да нет, спасибо, думаю и без этого можно обойтись)
01.10.2013, 14:23
Ответить | Цитировать
Руслан Густокашин
Студия Вэлпис
Руслан Густокашин

Зарегистрирован:
2012-02-06
Сообщений: 869

А, ну и хорошо! улыбка Пользуйтесь на здоровье. улыбка

02.10.2013, 06:39
Ответить | Цитировать
Гость
Гость

Или хотя, давайте!)
Зашел сегодня и просмотренных страниц как и не было,а лучше бы конечно, чтобы они держались хотя бы недельку)
02.10.2013, 07:07
Ответить | Цитировать
Гость
Гость

И кстати говоря, доброе утро!)
02.10.2013, 18:05
Ответить | Цитировать
Руслан Густокашин
Студия Вэлпис
Руслан Густокашин

Зарегистрирован:
2012-02-06
Сообщений: 869

Доброе! улыбка Договорились, выложу! Сообщу, как опубликуют.

198 196 2013-10-15 18:26:12 13315
Страницы: 1  |  2  |  3  |  4  |  5
Описание проекта