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

#
Re: Недавно просмотренные товары в HostCMS v.6
У просмотренных товаров 404 убрал. Нужно было в файле items.php поменять
if (!$this->allow_show_current_item)
{
$oShop_Controller_Show = new Shop_Controller_Show($oShop);
$oShop_Controller_Show->parseUrl();
if ($oShop_Controller_Show->item)
{
$oShop_Item = Core_Entity::factory('Shop_Item', $oShop_Controller_Show->item);
$this->deleteArrayItemByValue($this->_aShop_Last_Items,
$oShop_Item->modification_id && $this->show_parent_items_instead_modifications ?
$oShop_Item->modification_id : $oShop_Item->id);
}
}

на
if (is_object(Core_Page::instance()->object)
&& get_class(Core_Page::instance()->object) == 'Shop_Controller_Show')
{
if ($oShop_Controller_Show->item)
{
$oShop_Item = Core_Entity::factory('Shop_Item', $oShop_Controller_Show->item);
$this->deleteArrayItemByValue($this->_aShop_Last_Items,
$oShop_Item->modification_id && $this->show_parent_items_instead_modifications ?
$oShop_Item->modification_id : $oShop_Item->id);
}
}}

#
Re: Недавно просмотренные товары в HostCMS v.6
Винни, это довольно старое решение, сейчас в HostCMS есть своя встроенная фукнциональность по выводу просмотренных товаров, рекомендуется использовать ее.
Заказов не беру. Консультирую редко.
#
Re: Недавно просмотренные товары в HostCMS v.6
Kotoff,
Да я видел, только не знаю как просмотренные товары на стандартном решение вывести в определенное место в макет
#
Re: Недавно просмотренные товары в HostCMS v.6
Винни писал(а):
Да я видел, только не знаю как просмотренные товары на стандартном решение вывести в определенное место в макет

См. https://www.hostcms.ru/api6/class-Shop_Controller_Show.html
viewed(TRUE|FALSE) выводить просмотренные товары, по умолчанию TRUE
viewedLimit(10) максимальное количество выводимых просмотренных товаров, по умолчанию 10
viewedOrder('ASC'|'DESC'|'RAND') направление сортировки просмотренных товаров, по умолчанию DESC
cart(TRUE|FALSE) выводить товары в корзине, по умолчанию FALSE

Выводить можно в любом месте макета:
$Shop_Controller_Show = new Shop_Controller_Show(Core_Entity::factory('Shop', 1));
$Shop_Controller_Show
    ->xsl(
        Core_Entity::factory('Xsl')->getByName('ПросмотренныеТовары')
    )
    ->viewedLimit(5)
    ->show();
E-mail: info@syrbek.ru / телега: @syrbek /skype: activexm / syrbek.ru / Поддержка сайтов / г. Москва [HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, Git, SVN, Redmine]
#
Re: Недавно просмотренные товары в HostCMS v.6
А как в xml у просмотренных товаров(viewed) убрать вывод свойств и доп.свойств, ну и лишней информации..у меня много доп.свойств заполнено и очень большое количество запросов идет.(если отключаю вывод просмотренных товаров в xml, то все нормально)
#
Re: Недавно просмотренные товары в HostCMS v.6
Если речь о стандартных просмотренных то используйте хук:

Core_Event::notify(get_class($this) . '.onBeforeAddViewedEntity', $this, array($oViewed_Shop_Item));


В нем для объекта args[0] отключайте свойства ->showXmlProperties(FALSE)
«Не выходи из комнаты, не совершай ошибку…»
#
Re: Недавно просмотренные товары в HostCMS v.6
Посмотрите пожалуйста, что не так написала?
bootstrap.php в конце код
Core_Event::attach('Shop_Controller_Show.onBeforeAddViewedEntity', array('My_Observer', 'onBeforeAddViewedEntity'));

modules/my/observer.php
class My_Observer
{
   
   static public function onBeforeAddViewedEntity($object, $args)
      {
         
       $oViewed_Shop_Item = $args[0];
        $oViewed_Shop_Item->showXmlProperties(FALSE)->showXmlSets(FALSE);
   }
   
   
   
  
}
#
Re: Недавно просмотренные товары в HostCMS v.6
lyubaaa,
Попробуйте так:
Core_Event::attach('shop_item.onBeforeAddViewedEntity', array('My_Observer', 'onBeforeAddViewedEntity'));
E-mail: info@syrbek.ru / телега: @syrbek /skype: activexm / syrbek.ru / Поддержка сайтов / г. Москва [HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, Git, SVN, Redmine]
#
Re: Недавно просмотренные товары в HostCMS v.6
Seri,
Цитата:
Попробуйте так:

нет такого там хука

lyubaaa,
все правильно, только класс вывода магазина у вас может быть другой унаследованный и тогда работать не будет, т.к. в Shop_Controller_Show идет get_class($this), возможно у вас он называется My_Shop_Controller_Show
www.morozovpimnev.ru - создание, поддержка и продвижение сайтов | Наш канал https://asmp.su/channel
#
Re: Недавно просмотренные товары в HostCMS v.6
Seri писал(а):
Core_Event::attach('shop_item.onBeforeAddViewedEntity', array('My_Observer', 'onBeforeAddViewedEntity'));


так тоже не работает
Авторизация