Как мне дорог этот виртуемарт)) Такое ощущение, что косяков с каждой новой версией становится только больше! Я уже отказался от создания магазинов на вирте в пользу Aceshop (связка joomla и opencart), но у меня еще бывают заказы по магазинам на virtuemart и вот очередная проблема:
стоит галочка
, но товары не показываются! Только виден заголовок Последние поступления
Что же делать, как быть? Все просто 🙂 Лезем в файл administrator\components\com_virtuemart\models\product.php , ищем строки
case 'latest': $date = JFactory::getDate( time()-(60*60*24*7) ); //Set on a week, maybe make that configurable $dateSql = $date->toMySQL(); $where[] = 'p.`modified_on` > "'.$dateSql.'" '; $orderBy = 'ORDER BY p.`modified_on`'; $this->filter_order_Dir = 'DESC'; break;
комментируем 3 строчки и получаем такой код
case 'latest': //$date = JFactory::getDate( time()-(60*60*24*7) ); //Set on a week, maybe make that configurable //$dateSql = $date->toMySQL(); //$where[] = 'p.`modified_on` > "'.$dateSql.'" '; $orderBy = 'ORDER BY p.`modified_on`'; $this->filter_order_Dir = 'DESC'; break;
Радуемся результату 😉 Говорим спасибо)) Кому интересно поясню — в переменной where задается вывод товаров, изменения которых были не позже, чем 7 дней назад (60*60*24*7 секунд), а если мы все товары добавили месяц назад и не обновляем их? Значит у нас не будет выводится ничего, типа это не Последние товары. Не по-русски это как-то))
Для какой версии virtue mart ваше решение? не нашел в папке com_virtue mart папки models. Версия 2.0.22c
Для первых релизов 2-ой версии, точно не помню уже.. Давно это было 😉
Спасибо )
Метод рабочий!