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

rsn

  • Давно я тут
  • 520
  • 34 / 3
Есть один непродуманный момент в текущей версии VirtueMart.
Если в настройках компонента стоит глобальное направление сортировки - Ascending,
И потом на странице категории пользователь выбирает Сортировка - Наличие товара,
то товары сортируются По возрастанию Наличия.

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

Но когда пользователь выбирает для сортировки «Наличие товара», то ожидает он как раз, наоборот, что будут выводиться товары сначала те, которых много в наличии.

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

Правим файл administrator/components/com_virtuemart/models/product.php

Вместо строчки:
Код
$link = JRoute::_ ($fieldLink . $manufacturerTxt . '&orderby=' . $field . $Itemid,FALSE);
пишем:
Код
if ($field == 'product_in_stock') $link = JRoute::_ ($fieldLink . $manufacturerTxt . '&orderby=' . $field . '&dir=DESC' . $Itemid,FALSE);
else $link = JRoute::_ ($fieldLink . $manufacturerTxt . '&orderby=' . $field . $Itemid,FALSE);

Теперь подставляется более ожидаемая ссылка. При этом вся остальная фунциональность остаётся полностью рабочей. Пользователь, как и прежде, может и сменить направление сортировки в рамках «Наличия товара». И даже содержание страниц по урлам сортировки практически не меняется, что не приведет к сильной переиндексации страниц сортировки поисковиками (если эти страницы у вас открыты, конечно).
Данное решение - для тех случаев, когда сортировка По наличию не выбрана по-умолчанию.
Возможно, будет интересно: Интеграция с Ozon
*

djed9

  • Захожу иногда
  • 116
  • 2 / 0
Я себе поставил такой код для сортировке по цене и наличию, они в топе
$orderBy = str_replace("ORDER BY ", "ORDER BY CONCAT((product_in_stock - product_ordered)<=0), ", $orderBy);

А не знаете как добавить к этому коду, что еще топ категории можно было добавить рекомендованные товары?
*

rsn

  • Давно я тут
  • 520
  • 34 / 3
Я себе поставил такой код для сортировке по цене и наличию, они в топе
$orderBy = str_replace("ORDER BY ", "ORDER BY CONCAT((product_in_stock - product_ordered)<=0), ", $orderBy);

А не знаете как добавить к этому коду, что еще топ категории можно было добавить рекомендованные товары?
Для начала - понять бы, куда именно Вы вставляете этот код: в какой файл, в какие строки.
Возможно, будет интересно: Интеграция с Ozon
*

djed9

  • Захожу иногда
  • 116
  • 2 / 0
Для начала - понять бы, куда именно Вы вставляете этот код: в какой файл, в какие строки.
этот код вставляю в /administrator/components/com_virtuemart/models/product.php
594 строка
*

rsn

  • Давно я тут
  • 520
  • 34 / 3
Если под "рекомендованными товарами" понимать стандартную функциональность VM,
попробуйте так:
Код
$orderBy = str_replace("ORDER BY ", "ORDER BY product_special DESC, CONCAT((product_in_stock - product_ordered)<=0), ", $orderBy);
Должно работать )
Возможно, будет интересно: Интеграция с Ozon
*

djed9

  • Захожу иногда
  • 116
  • 2 / 0
$orderBy = str_replace("ORDER BY ", "ORDER BY product_special DESC, CONCAT((product_in_stock - product_ordered)<=0), ", $orderBy);
да, круто, заработал как надо, спасибо большое)
*

SolopoV

  • Давно я тут
  • 575
  • 16 / 0
  • зеленею...
Немного не в тему. А что в VirtueMart календарь заканчивается в 2021 году?  :o
При добавлении товара в админке посмотрел input product_available_date
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Блокировка спама в форме &quot;Задать вопрос по товару&quot; VirtueMart 3-4 средствами PHP

Автор aleks_yug

Ответов: 2
Просмотров: 1280
Последний ответ 30.08.2023, 11:37:41
от aleks_yug
Доработать VirtueMart 3

Автор eclipseggg

Ответов: 1
Просмотров: 5267
Последний ответ 01.10.2021, 19:28:53
от varX
Открытие карточки товара VirtueMart3 в новом окне из категории

Автор djed9

Ответов: 2
Просмотров: 1973
Последний ответ 16.07.2021, 09:06:35
от djed9
Как в RSS ленту VirtueMart 3 добавить дополнительные изображения товара?

Автор Slava77

Ответов: 2
Просмотров: 2318
Последний ответ 06.06.2021, 01:12:01
от Slava77
[Решено] Список товаров на главной VirtueMart

Автор vitoxa_ya

Ответов: 6
Просмотров: 9620
Последний ответ 21.10.2020, 23:27:08
от alfa212