Недавно просмотренные товары в HostCMS v.6

#
Re: Недавно просмотренные товары в HostCMS v.6
Большое спасибо, Евгений. Все работает.
iNikSite - дизайн и фронтенд разработка
#
Re: Недавно просмотренные товары в HostCMS v.6
В стандартной функции API6 "viewed" можно ли стандартными средствами ограничить количество?

P.S. Кстати, в документации опечатка
viewed(TRUE|FALSE) выводить избранные товары, по умолчанию TRUE
viewedOrder('ASC'|'DESC'|'RAND') направление сортировки избранных товаров, по умолчанию DESC
#
Re: Недавно просмотренные товары в HostCMS v.6
Спасибо! Все отлично!
веломагазин и велотуры: http://www.velootpusk.ru
#
Re: Недавно просмотренные товары в HostCMS v.6
Спасибо! Все отлично!
веломагазин и велотуры: http://www.velootpusk.ru
#
Re: Недавно просмотренные товары в HostCMS v.6
Возможно я не совсем прав, поправьте, пожалуйста, но есть наблюдение.

На сайте магазин висит на узле /shop/, во вложенных узлах, например, /shop/sale/ или /shop/info/ висят динамические и статические страницы. У вас в коде для определения является ли страница выводом товара, используется метод parseUrl() от родительского контроллера Shop_Controller_Show. Так вот этот метод не только разбирает url. Т.е. у меня получилось так, что при использовании вашего кода в корневом шаблоне, сайт стал возвращать 404 код на узлах /shop/sale/, /shop/tag/smth/page-2/ и подобных, несмотря на то, что контент нормально отдавался.

Я модифицировал ваш код условия, чтобы определить, находимся ли мы на странице контроллера и отображается ли товар, без использования метода parseUrl(). Код условия такой:
if (isset(Core_Page::instance()->object) && (Core_Page::instance()->object instanceof Shop_Controller_Show)) {
            $oShop_Controller_Show = Core_Page::instance()->object;


Спасибо за модуль!
Производство прибыльных сайтов
#
Re: Недавно просмотренные товары в HostCMS v.6
generaldivision, вы в своем условии не проверяете, отображается ли товар, вы проверяете только что вы находитесь на странице, которая обслуживается контроллером Shop_Controller_Show.
Признаком того, что вы находитесь на в карточке товара является условие
Shop_Controller_Show->item > 0


Ну и вообще-то, уже довольно давно в системе есть своя родная функциональность по сбору и отображение последних просмотренных товаров, поэтому моя разработка уже не нужна. Тем более что написана она давно и довольно коряво, сейчас бы я написал это совершенно иначе.
Заказов не беру. Консультирую редко.
#
Re: Недавно просмотренные товары в HostCMS v.6
Цитата:
вы в своем условии не проверяете, отображается ли товар

Я это оставил за скобками. Показал только получение контроллера другим способом.

Цитата:
написана она давно и довольно коряво

Я как раз реанимирую давний и корявый проект. В любом случае спасибо за код.
Производство прибыльных сайтов
#
Re: Недавно просмотренные товары в HostCMS v.6
Спасибо за решение! Установил, все выводит. Только такая проблемка, теперь при переходе в корзину улетаешь на главную. Если закомментировать вывод в шаблон, то в корзину можно попасть, при чем просмотренные товары у меня выводятся только на страницах им, а в корзину нельзя зайти даже со страниц с другим шаблоном на котором просмотренные товары не выводятся . Если можно хотел бы попросить помочь.
   <?
   /** Показ последних просмотренных товаров - начало **/

   // XSL-шаблон для отображения последних просмотренных товаров
   $last_items_xslName = 'МагазинКаталогТоваровПоследниеПросмотренные';
   
   // вместо 123 впишите идентификатор вашего магазина!
   $oShop = Core_Entity::factory('Shop', 3);
   
   $oShop_Controller_Show_Last_Items = Shop_Controller_Show_Last_Items::instance($oShop);

   $oShop_Controller_Show_Last_Items
      ->limit(4) // макс. количество выводимых товаров
      ->is_random(TRUE) // сортировка: TRUE - в случайном порядке; FALSE - в порядке, обратном посещениям
      ->allow_show_current_item(FALSE) // если находимся на странице товара: TRUE - разрешает показывать его среди последних просмотренных; FALSE - запрещает.
      ->show_parent_items_instead_modifications(TRUE) // TRUE - показывать родительские товары вместо модификаций; FALSE - сами модификации.
      ->exclude_incart_items(TRUE) // TRUE - запрещает показывать товары, которые уже есть в корзине; FALSE - разрешает.
      ->exclude_out_of_rest_items(TRUE) // TRUE - запрещает показывать товары, которых нет в наличии; FALSE - разрешает.
      ->cache(FALSE) // TRUE - разрешает использовать кеширование; FALSE - запрещает.
      ->xsl(Core_Entity::factory('Xsl')->getByName($last_items_xslName))
      ->showLastItems();
      
   /** Показ последних просмотренных товаров - конец **/

?>
#
Re: Недавно просмотренные товары в HostCMS v.6
Еще поиск не работает, когда код что выше в сообщении вставляешь в шаблон страниц
#
Re: Недавно просмотренные товары в HostCMS v.6
Вроде разобрался, заработало. Осталось решить вопрос откуда ошибка 404 появляется. Она есть на странице /shop/price/ при этом сам прайс выводится нормально. И страницах им + главная, возле блока где выводятся просмотренные товары. Сайт пока на денвере, нет возможности показать((
Авторизация