Новый товар в VM

  • 4 Ответов
  • 198 Просмотров

0 Пользователей и 1 Гость просматривают эту тему.

*

Оффлайн Igoritaly

Новый товар в VM
« : 26.10.2016, 09:43:00 »
В VirtueMart в модуле товары, есть возможность выводить именно новые (недавно-добавленные) товары. Появилась необходимость  добавить всем новым товарам, эмблему-статус, "Новинка", при чем не в модуле. Интересует как можно этого добиться?
По какому принципу модуль товары отбирает недавно-добавленные? И на какой срок? Так как необходимо его переопределить.

*

Оффлайн gartes

Re: Новый товар в VM
« Ответ #1 : 26.10.2016, 23:54:51 »
Цитировать
По какому принципу модуль товары отбирает недавно-добавленные? И на какой срок? Так как необходимо его переопределить.
Выводиться это тут: /administrator/components/com_virtuemart/models/product.php




Как видно в строке 234 не разумный код....
наверное что то типа так должно быть...
Код: (php) [Выделить]
case 'latest':
 $date = JFactory::getDate (time () - (60 * 60 * 24 * $latest_products_days));
 $dateSql = $date->toMySQL ();
 $where[] = 'p.`' . $latest_products_orderBy . '` > "' . $dateSql . '" ';
 $orderBy = 'ORDER BY p.`' . $latest_products_orderBy . '`';
 $this->filter_order_Dir = 'DESC';
 break;


ну это теория а как на практике смотрите )))

PS..........
и мало того...
В скрине в строке 525 получаем настраиваемый параметр "latest_products_days"
Так вот этот параметр просто где то в конфиге потеряли..

« Последнее редактирование: 27.10.2016, 00:07:53 от gartes »

*

Оффлайн Igoritaly

Re: Новый товар в VM
« Ответ #2 : 17.11.2016, 14:49:00 »
ну это теория а как на практике смотрите )))
Спасибо-спасибо. Попробовал поменять:
case 'latest':
$orderBy = 'ORDER BY p.`' . $latest_products_orderBy . '` DESC, `virtuemart_product_id` DESC';;
break;
На:
case 'latest':
 $date = JFactory::getDate (time () - (60 * 60 * 24 * $latest_products_days));
 $dateSql = $date->toMySQL ();
 $where[] = 'p.`' . $latest_products_orderBy . '` > "' . $dateSql . '" ';
 $orderBy = 'ORDER BY p.`' . $latest_products_orderBy . '`';
 $this->filter_order_Dir = 'DESC';
 break;

В админке, вроде все работает нормально, в отличие от публичной части сайта. Сайт не отображается, выдавая ошибку:
"Страница localhost не работает
Сайт localhost пока не может обработать этот запрос."

При чем не работает именно "Главная страница Virtuemart". Если  открыть страницу с каким-либо отдельным товаром, - все работает хорошо. В том числе и весь процесс покупки товара - прекрасно работает.

Хотя в последней версии это уже не первый глюк, точно такая же фигня происходит при попытке вывести модуль с недавно просмотренными товарами...
Вообще не понимаю, почему эту версию (3.0.18) магазина не выпускают как "beta"?
« Последнее редактирование: 17.11.2016, 15:39:12 от Igoritaly »

*

Оффлайн fsv

Re: Новый товар в VM
« Ответ #3 : 17.11.2016, 16:46:16 »
Спасибо-спасибо. Попробовал поменять:
Модель компонента? Вы обновляться не собираетесь?
Вопрос по модулю, а не по компоненту. Сделайте себе новый модуль (не используйте название существующего) с любым своим функционалом, в хелпере любые свои запросы напишите.
Заказать разработку:    расширения Joomla  |   интерфейсы на javascript(jQuery)  |  мобильные приложения

*

Оффлайн Igoritaly

Re: Новый товар в VM
« Ответ #4 : 17.11.2016, 17:41:24 »
Модель компонента?
Часть кода.
Вы обновляться не собираетесь?
У меня и так стоит последняя версия, с ней проблемы и начались.
Вопрос по модулю, а не по компоненту.
В данном случае вопрос именно по компоненту. Так как при редактировании кода, отвечающего за отображения нового товара, появляется вышеописанный глюк.
Сделайте себе новый модуль (не используйте название существующего) с любым своим функционалом, в хелпере любые свои запросы напишите.
Не понял. Вы сейчас о стандартном методе создания модулей?

+ Замечены новые ошибки. В модуле "корзина" - пропадает цена после перезагрузки страницы. И отсутствует сумма на странице корзина в поле "Итого".
Что это вообще все значит? столько ошибок... в предыдущем проекте, на более старой версии - все сработало без единой ошибки.
« Последнее редактирование: 17.11.2016, 18:10:34 от Igoritaly »