Новости Joomla

JoomGallery 4.1.0 - компонент галереи изображений для Joomla

JoomGallery 4.1.0 - компонент галереи изображений для Joomla

JoomGallery 4.1.0 - компонент галереи изображений для Joomla.Новая итерация компонента продолжает развиваться, ведь с v.4.x компонент был переписан практически с нуля.👩‍💻 v.4.1.0. Что нового?- Редактирование метаданных изображений. Теперь метаданные можно не только читать, но и напрямую редактировать и записывать обратно в изображение JPG. Поддерживаются данные EXIF ​​и IPTC.- Полная совместимость с Joomla! 4.x, 5.x и 6.x. Компонент почистили от устаревших методов в коде.- Заметно ускорили загрузку больших галерей. Списки в админке, особенно для очень больших галерей ( >30 000 изображений), теперь загружаются значительно быстрее.- Несколько сеток lightGallery на одной странице. Будь то плагины контента или модули изображений: теперь вы можете отображать несколько галерей или категорий на одной странице без каких-либо ограничений.- Множество мелких исправлений ошибок и оптимизаций.Сайт проектаGitHub расширенияСкачать#joomla #расширения

Вышел релиз Joomla 5.3.2

Релиз исправлений ошибок Joomla 5.3.2

Проект Joomla рад сообщить о выпуске Joomla 5.3.2. Это релиз исправлений ошибок для серии Joomla 5.3.

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

artserge

  • Захожу иногда
  • 118
  • 11 / 0
В стандартном функционале VirtueMart самые популярные (покупаемые) товары считаются по принципу "выбрать товары отсортировав по количеству подтвержденных покупок"

Меня это не устроило - возникла задача сделать вывод без учета подтверждения - т.е. если товар кто-то купил, то он автоматом считается в топ.

Код отвечающий за эту выборку находится в administrator\components\com_virtuemart\models\product.php

Код
case 'topten':
$orderBy = ' ORDER BY p.`product_sales` '; //LIMIT 0, '.(int)$nbrReturnProducts;  //TODO set limitLIMIT 0, '.(int)$nbrReturnProducts;
$where[] = 'pp.`product_price`>"0.0" ';
$this->filter_order_Dir = 'DESC';
break;


изменяем условие на
Код
case 'topten';

$joinedTables .= ' JOIN `#__virtuemart_product_ordercount` AS po using (`virtuemart_product_id`)';
$orderBy = ' ORDER BY po.`orders_count` ';
$where[] = 'pp.`product_price`>"0.0"  ';
$this->filter_order_Dir = 'DESC';
break;

и переносим кусок кода

Код
if ($joinLang) {
$select = ' l.`virtuemart_product_id` FROM `#__virtuemart_products_' . VMLANG . '` as l';
$joinedTables = ' JOIN `#__virtuemart_products` AS p using (`virtuemart_product_id`)';
}
else {
$select = ' p.`virtuemart_product_id` FROM `#__virtuemart_products` as p';
$joinedTables = '';
}

выше нашей выборки, т.е. например перед switch ($this->filter_order) {

Ну и создаем вьюшку которая хранит ID товара и кол-во его покупок. Кол-во заказанных единиц товара я не учитываю - вдруг кто-то купит 1000 каких-нибудь мелких гаек, и товар жирно вылезет в топ)

Код
CREATE VIEW `ПРЕФИКС_virtuemart_product_ordercount` AS (select `vp`.`virtuemart_product_id` AS `virtuemart_product_id`,count(`vo`.`virtuemart_product_id`) AS `orders_count` from (`ПРЕФИКС_virtuemart_products` `vp` join `ПРЕФИКС_virtuemart_order_items` `vo`) where (`vo`.`virtuemart_product_id` = `vp`.`virtuemart_product_id`) group by `vo`.`virtuemart_product_id` order by count(`vo`.`virtuemart_product_id`) desc);

Решение может и не супер виртуозное, зато редактируем только 1 файл.
Как вариант - можно поставить в базе триггер на добавление товара в #__virtuemart_order_items который бы изменял значение sales_count в #__virtuemart_products , но тогда придется искать место где при обновлении статуса заказа этот счетчик меняется, и там отключать этот апдейт.

А так - в #__virtuemart_products имеем кол-во подтвержденных продаж, в #__virtuemart_product_ordercount  - кол-во всех продаж, подтвержденных и не подтвержденных)

Пишу больше для того чтоб не забыть и поделиться - вдруг кому пригодится.
*

kasper9820

  • Захожу иногда
  • 127
  • 4 / 6
  • ...ISponsor!
Отличный топик, как вывести количество совершенных продаж (не штук) в карточку товара и в категорию.
Еще интересует, как вывести в карточку перечень покупателей (зарегистрировавшихся), которые покупали товар с их данными (аватар, имя и т.д.). Заранее спасибо
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Вывод названий всех категорий и товаров в них на главной ((vm3))

Автор PavelK

Ответов: 0
Просмотров: 2283
Последний ответ 15.02.2022, 14:34:52
от PavelK
Limit показать на страницу + пагинация pagination ломают отображение товаров

Автор kreker92

Ответов: 0
Просмотров: 2347
Последний ответ 08.11.2021, 18:02:40
от kreker92
[Решено] Список товаров на главной VirtueMart

Автор vitoxa_ya

Ответов: 6
Просмотров: 10252
Последний ответ 21.10.2020, 23:27:08
от alfa212
Удаление всех товаров из корзины одним кликом.

Автор Chifu

Ответов: 10
Просмотров: 9153
Последний ответ 19.04.2020, 20:21:03
от grub
Сортировка в VirtueMart 2 по умолчанию, по наличию товаров и по цене

Автор vfxbro

Ответов: 7
Просмотров: 3763
Последний ответ 27.04.2019, 09:51:05
от rsn