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

4 года 11 мес. назад #4712 от poltorrr
Здравствуйте! Очень хотелось бы вывести недавно просмотренные товары в отдельном модуле чтобы отображать его на на тех страницах, на которых я хочу.

У меня вышло вывести его при помощи такого кода:
<?php
 
 
        function getRecentProducts($currentId){
            $actualIds=false;
            $rProducts=false;
 
            $rSession = JFactory::getSession();
            $rIds = $rSession->get('vmlastvisitedproductids', array(), 'vm'); // get recent viewed from browser session
            if (is_array($rIds)){ 
                foreach($rIds as $rId){
                    if ($rId!=$currentId) $actualIds[]=$rId; // cut out from array currently viewed product 
                }  
            }
 
            if (is_array($actualIds)){
                if (!class_exists('VirtueMartModelProducts')) // check possible if VM products class exists
                    JModel::addIncludePath(JPATH_VM_ADMINISTRATOR . DS . 'models'); // if not exists, add them
                $rModel = JModel::getInstance('Product', 'VirtueMartModel');
 
                $recent_products_rows = VmConfig::get('recent_products_rows'); // set in VM admin panel
                $products_per_row = VmConfig::get('homepage_products_per_row'); // set in VM admin panel
                $recent_products_count = $products_per_row * $recent_products_rows; // get max recent products count
 
                $rProducts = $rModel->getProducts($actualIds, false, false);  // no front, no calc, only published
            }
            if (is_array($rProducts)) $rProducts=array_slice($rProducts,0,$recent_products_count); // return only allowed num of products
 
            return $rProducts;
        }
 
        $recentProducts=getRecentProducts($this->product->virtuemart_product_id);
        if ($recentProducts){ // if we get recent products, display them
        ?>
        <div class="product-recent-products">
            <h2>Recently viewed products:</h2>
            <ul class="recent-list">
                <?php
                    foreach ($recentProducts as $rProduct) {
                    ?>
                    <li>
                        <a href="<?php echo JRoute::_('index.php?option=com_virtuemart&view=productdetails&virtuemart_product_id='.$rProduct->virtuemart_product_id.'&virtuemart_category_id='.$rProduct->virtuemart_category_id); ?>">
                            <?php echo $rProduct->product_name; ?>
                        </a>
                    </li>
                    <?php } ?>
            </ul>
        </div>
        <?php }?>

но данный метод выводит только текстовый список из просмотренных товаров, а хотелось бы выводить и фото, и цену.

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.

4 года 10 мес. назад #4857 от otdushina
А можно мне этот модуль целиком, хотя бы в таком виде. Пожалуйста :whistle:

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.

4 года 10 мес. назад - 4 года 10 мес. назад #4860 от poltorrr
А этот код и есть модуль) Просто создаешь HTML модуль, в этом модуле размещаешь тот код что я написал выше, только разместить его надо с использованием плагина sourcer www.nonumber.nl/extensions/sourcerer
Затем размещаешь модуль в нужной тебе позиции, и все готово)
Вот, я доделываю сайт home-line.in.ua/postelnoe-bele можешь посмотреть как он выглядит, позаходи в несколько товаров и под хлебными крошками появятся недавно просмтренные

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.

4 года 10 мес. назад #4933 от otdushina
в вашем случае показываются 3 ссылки на товары, а как вывести штук 10

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.

3 года 11 мес. назад #6272 от Елена
В поисках решения проблемы для вывода модуля недавно просмотренных товаров на любой странице нашла до того простое решение!!!!!
На главной странице выводится модуль Best Sellers.
Ищем этот модуль в админке, делаем его копию и просто меняем параметры:
1. Заголовок "Вы смотрели" или т.п.
2. Привязываем модуль к нужным страницам
3. Самое главное!!! В "Основных параметрах" в пункте "Показать" выбираем "Недавно просмотренные товары"
+ делаем нужные настройки (количество в строке и т.п.), можно поменять позицию вывода, например слева в столбик (если выбрать нужную позицию и количество в строке поставить 1, а количество отображаемых товаров больше)

Еще момент, когда выбираете количество в строке, например, 4, а в шаблоне Главной странице стоит 3, то будет выводиться 3. Поэтому лезем в настройки шаблона Главной страницы и ставим "Товаров в строке" - 4, но тогда и везде поменяется на 4.
Я, например, вообще убрала из шаблона главной страницы все выводы товаров, а сделала их именно через модуль Best Sellers - это и недавно добавленные товары, и недавно просмотренные и хиты продаж! Это следует сделать еще и потому, что при клике по картинке вы сразу переходите в карточку товара, а не видите увеличенное фото (что тоже является проблемой шаблона главной страницы)

Вот ссылочка: www.otdelsumok.ru

Все так просто, даже страшно :lol:
и не надо никакой мусор загружать и в коде ковырять

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.


Вверх