Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

Недавно просмотренные страницы

Статус пользователя San4aus
сообщение 21.3.2015, 10:29
Сообщение #1
Стаж: 15 лет

Сообщений: 383
Благодарностей: 237
Полезность: 612

Всем привет, в общем уже мучаюсь какой день, мне нужно вывести в блок "Недавно просмотренные страницы пользователем"

В общем пробовал 1-ый вариант с применением PHP + Сессии:

1 Вариант
Код
<?php
$answer = $GLOBALS["obj"] -> parse_xml($GLOBALS["obj"] -> goods_info($_GET["id"],$GLOBALS["currency"]));

$name_page = $answer-> product-> name;
$id_tovara = $answer -> product -> id;
$link_page="<li><a href='goods_info.php?id=".$id_tovara."'>".$name_page."</a></li>";


//Запуск сессии
session_start();

//Если в сессии есть ключ pages, можно с ним работать
if (isset($_SESSION['pages']))
{
if (count($_SESSION['pages']) < 5)
{
//Дописываем в массив адрес страницы
$_SESSION['pages'][] = $link_page;
}
else {
//Если в списке уже есть 5 страниц, надо передвинуть список назад
for ($i=1; $i<5; $i++)
{
$_SESSION['pages'][$i-1] = $_SESSION['pages'][$i];
}
$_SESSION['pages'][4] = $link_page;
}
//Если ключа pages нет, его надо создать как массив
} else {
$_SESSION['pages'] = array();
$_SESSION['pages'][] = $link_page;
}
foreach ($_SESSION['pages'] as $page)
{
print '<div>'.$page.'</div>';
}
?>


И получается так: Прикрепленное изображение

----

Вариант 2 JS + Куки:

2 Вариант
Код
function setCookie(cname, cvalue, exdays) {
    var d = new Date();
    d.setTime(d.getTime() + (exdays * 24 * 60 * 60 * 1000));
    var expires = "expires=" + d.toGMTString();
    document.cookie = cname + '=' + cvalue + ';path="/";' + expires;
}

function getCookie(cname) {
    var name = cname + "=";
    var ca = document.cookie.split(';');
    for ( var i = 0; i < ca.length; i++) {
        var c = ca[i].trim();
        if (c.indexOf(name) == 0)
            return c.substring(name.length, c.length);
    }
    return "";
}

function checkHistory(targetId) {
    var history = getCookie("history");
    var htmlContent = '';

    if (history != "") {
        var insert = true;
        var sp = history.toString().split(",");
        for ( var i = sp.length - 1; i >= 0; i--) {
            htmlContent += '<a style="color: black;" class="demo-pricing demo-pricing-1" href="'
                    + sp[i]
                    + '">'
                    + sp[i].substring(sp[i].lastIndexOf('/') + 1) + '</a><br>';
            if (sp[i] == document.URL) {
                insert = false;
            }
            document.getElementById(targetId).innerHTML = htmlContent;
        }
        if (insert) {
            sp.push(document.URL);
        }
        setCookie("history", sp.toString(), 30);
    } else {
        var stack = new Array();
        stack.push(document.URL);
        setCookie("history", stack.toString(), 30);
    }
}


function clearHistory(targetId) {
    setCookie("history", "", -1);
    document.getElementById(targetId).innerHTML = "";
    alert("Visited page links were cleared");
}


Получается так: Прикрепленное изображение

В общем нужно, чтобы выводились ссылки с определённых страниц. Если что, готов заплатить.

Отредактировал: San4aus, - 21.3.2015, 10:29
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя Jenya Psy
сообщение 21.3.2015, 10:31
Сообщение #2


Иконка группы

Стаж: 14 лет

Сообщений: 1647
Благодарностей: 2040
Полезность: 1146

оффтоп: ты в скайпе ответишь мне или нет?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Orty_Hart
сообщение 21.3.2015, 19:43
Сообщение #3
Стаж: 14 лет

Сообщений: 1399
Благодарностей: 408
Полезность: 725

San4aus,
В чем проблема?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя San4aus
сообщение 21.3.2015, 23:01
Сообщение #4
Стаж: 15 лет

Сообщений: 383
Благодарностей: 237
Полезность: 612

Цитата(Orty_Hart @ 21.3.2015, 20:43) *
San4aus,
В чем проблема?

Нужно, чтобы значения выводились с ссылок, начинающихся на "goods_info.php?id".

Пример тут справа: _http://steam-seller.ru/
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Orty_Hart
сообщение 23.3.2015, 19:39
Сообщение #5
Стаж: 14 лет

Сообщений: 1399
Благодарностей: 408
Полезность: 725

San4aus,
я совершенно не понимаю, что вам нужно реализовать и в чем проблема.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя San4aus
сообщение 23.3.2015, 19:52
Сообщение #6
Стаж: 15 лет

Сообщений: 383
Благодарностей: 237
Полезность: 612

Цитата(Orty_Hart @ 23.3.2015, 20:39) *
San4aus,
я совершенно не понимаю, что вам нужно реализовать и в чем проблема.

Нужно реализовать блок "недавно просмотренные товары". Выше скидывал сайт, справа находится этот блок. Он выводит только просмотренные товары, другие категории сайта он не выводит.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя onotole
сообщение 23.3.2015, 21:56
Сообщение #7


Иконка группы

Стаж: 13 лет

Сообщений: 1572
Благодарностей: 1119
Полезность: 1550

Меценат Меценат

Цитата(San4aus @ 23.3.2015, 20:52) *
Нужно реализовать блок "недавно просмотренные товары". Выше скидывал сайт, справа находится этот блок. Он выводит только просмотренные товары, другие категории сайта он не выводит.

В таблице товара хранить время последнего просмотра, и выбирать товары, отсортировав по этому времени
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя San4aus
сообщение 23.3.2015, 23:07
Сообщение #8
Стаж: 15 лет

Сообщений: 383
Благодарностей: 237
Полезность: 612

Цитата(onotole @ 23.3.2015, 22:56) *
В таблице товара хранить время последнего просмотра, и выбирать товары, отсортировав по этому времени

А без БД никак?

P.S. Используется Digiseller.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя csnet
сообщение 23.3.2015, 23:12
Сообщение #9
Стаж: 12 лет

Сообщений: 4808
Благодарностей: 3849
Полезность: 690

Дак зачем тебе именно пользователя. Сам сделай рендомный вывод товаров и все будут думать что их просмотрели, так можно поднимать продажи нужных тебе вещей


go v cs:go
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: