Модуль "Вы смотрели" для InstantShop

+33
1.78K
Модуль "Вы смотрели" для InstantShop.
В данном модуле выводиться инофрмация о просмотренных товарах пользователя. Информация о просмотре доступна как авторизированному пользователю так и гостю.
На данный момент товары выводятся списком, с возможностью удалить все товары или добавить в корзину отдельный товар. В следующих версиях будет реализована возможность смены вывода товаров в самом модуле.

Скрин модуля:Иллюстрация

Инструкция по установке в архиве.
Описание модуля на сайте перейти

Скачать модуль
0
imprint imprint 11 лет назад #
при установке пишет Query was empty
+1
Yurik Yurik 11 лет назад #
Обновил архив!
0
imprint imprint 11 лет назад #
установил....только в модуле не показывается название товара...только кнопка в корзину...
0
Yurik Yurik 11 лет назад #
в архиве есть файл ридми, там еще нужно вносить мелкие правки в сам компонент
0
imprint imprint 11 лет назад #
все внес.....там же без разницы куда вставлять
//
// Очистка списка просматриваемых товаров
//
if ($do=='clearlist'){

if ($inUser->id){
$sql = "DELETE FROM cms_shop_items_view WHERE user_id = ".$inUser->id;
} else {
$s_id = session_id();
$sql = "DELETE FROM cms_shop_items_view WHERE sess_id = '".$s_id."'";
}

$inDB->query($sql);
$inCore->redirectBack();
}?
0
imprint imprint 11 лет назад #
и этот код ////
$routes[] = array(
'_uri' => '/^shop\/clearlist.html$/i',
'do' => 'clearlist'
);
////
0
Yurik Yurik 11 лет назад #
Предоставил не полную игформацию, код:
Код PHP:
        //
       //        сбор статистики просмотра товаров
       //
       //
               $item_id = $item['id'];
               if ($inUser->id){
                   $user_id    =$inUser->id;
                   $sql = "SELECT * FROM cms_shop_items_view WHERE user_id=".$user_id." AND item_id=".$item_id;
                   $sql1 = "INSERT INTO cms_shop_items_view (`user_id`, `item_id`, `date`) VALUES ('{$user_id}', '{$item_id}', NOW())";
               } else {
                   $user_id = 0;
                   $s_id = session_id();
                   $sql = "SELECT * FROM cms_shop_items_view WHERE sess_id='".$s_id."' AND item_id=".$item_id;
                   $sql1 = "INSERT INTO cms_shop_items_view (`user_id`, `item_id`, `date`, `sess_id`) VALUES ('{$user_id}', '{$item_id}', NOW(), '{$s_id}')";
               }

               $inDB->query("DELETE FROM `cms_shop_items_view` WHERE `date` < CURRENT_DATE - INTERVAL 1  DAY");
               $resultm = $inDB->query($sql);
               if ($inDB->num_rows($resultm)<1){
                   $inDB->query($sql1);
               }
нужно вставить после части кода когда уже получаем итем с базы
Код PHP:
        //если нет ссылки - ошибка
        if (!$seolink) { cmsCore::error404(); }

        //получаем товар по ссылке
        $item = $model->getItemBySeolink($seolink);
+1
Yurik Yurik 11 лет назад #
На сайте обновил информацию по установке.
0
imprint imprint 11 лет назад #
В файл frontend.php добавть действие:
//
// Очистка списка просматриваемых товаров
//
if ($do=='clearlist'){

if ($inUser->id){
$sql = "DELETE FROM cms_shop_items_view WHERE user_id = ".$inUser->id;
} else {
$s_id = session_id();
$sql = "DELETE FROM cms_shop_items_view WHERE sess_id = '".$s_id."'";
}

$inDB->query($sql);
$inCore->redirectBack();
}
после чего его вставить?
0
Yurik Yurik 11 лет назад #
можно перед любым кодом определяющим действие, для примера перед:
Код PHP:
if ($do=='view'){.....
-2
Алексей Т Алексей Т 11 лет назад #
Отлично все работает!
Спасибо
+4
tulik tulik 11 лет назад #
Не могу понять кто еще и два минуса влепил!( Юрий старался, выложил в паблик свою наработку. Огромное спасибо пригодится.
-3
Алексей Т Алексей Т 11 лет назад #
Кто кто…минусаторы, их тут не мало…
Тех, кто не понимает в коде ни на грош, а амбиций на целый клад!
0
RooKee RooKee 11 лет назад #
Белиссимо! Только ломал голову об этом. Свой магазин запускаю )) Спасибо!
0
Brut Brut 11 лет назад #
А если товаров 7000тык и пользователь посмотрел 100?
+1
Yurik Yurik 11 лет назад #
Будет в модуле 100 штук, по желанию можно поставить лимит на вывод, показывать для примера 20 штук, все остальное кинуть в контейнер, который можно свернуть/развернуть. Ну это все для примера. Сделать все возможно.
0
RooKee RooKee 11 лет назад #
Код PHP:
Query was empty
при установке такое (((
0
RooKee RooKee 11 лет назад #
/shop/clearlist.html - и выдает 404 ошибку. роут прописан. в чем проблема то? (
+1
Yurik Yurik 11 лет назад #
Все проделали как описано на тут?
Только что тестировал все норм поставилось и работает.
Проверьте еще раз все, может что упустили.
0
RooKee RooKee 11 лет назад #
да, и ещё пустые строки добавляет
0
Yurik Yurik 11 лет назад #
Дайте пример сайта. Пустого ничего не должно кидать, данные берутся с базы.
Если только во фронтенде код добавили до выборки итемов с базы:
А также в этом фале ищем еще if ($do=='item'){
и вставляем после кода:
Код PHP:
//если нет ссылки - ошибка
if (!$seolink) { cmsCore::error404(); }
//получаем товар по ссылке
$item = $model->getItemBySeolink($seolink);
0
RooKee RooKee 11 лет назад #
именно так и сделано. версия 1.9 и очистка не работает (
0
Yurik Yurik 11 лет назад #
Странно, уже не 1 раз ставил, все работает, если есть возможность киньте файл router.php и frontend.php из магазина, пересмотрю что не так.
0
Саша Ангел Саша Ангел 10 лет назад #
Аналогичная проблема! Сделано по инструкции, добавляет строки и 404 ошибка!
0
Дайвер74 Дайвер74 10 лет назад #
Тоже столкнулся с подобной проблемой. Нашел решение: в файле router.php необходимые правки внес не в конец кода, а в самое начало. Вот как оно у меня выглядит:

<?php

function routes_shop(){

$routes[] = array(
'_uri' => '/^shop\/clearlist.html$/i',
'do' => 'clearlist'
);
....
0
Def Def 10 лет назад #
а на 1.10.1 будет работать?

Еще от автора

Компонент "Голосования" для второй ветки.
Простой компонент для организации голосований на сайте. В комплекте: сам компонент и виджет для вывода.
Простой 3-колоночный шаблон для 2 ветки
Простой шаблон для 2 ветки.
Новый тип поля "Место на карте" для 2 ветки
Добавляем новый тип поля для контента во второй ветке
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.