VmSorting - улучшаем сортировку товаров в virtuemart 3

Опубликовано: 12 Октябрь, 2016
Обновлено: 11 Сентябрь, 2018
Категория: Расширения для VirtueMart 2, Расширения для VirtueMart 3
Комментариев: 94

Про настройку сортировки в virtuemart  я уже писал ранее в этой статье. В virtuemart 3 в плане настроек ничего не изменилось.

Основное отличие этой статьи в плагине VmSorting, который позволит быстро изменить внешний вид сортировки без правок кода.

Но прежде коротко о возможностях сортировки в virtuemart.

Мы можем сортировать товар в категории по различным параметрам (цена, наличие, популярность и т.д.) и производителям (в этом случае товара не сортируется, а фильтруется).

Вы вывод сортировки отвечает код в файле /components/com_virtuemart/views/category/tmpl/default.php

Сортировка по параметрам:

Фильтрация по производителям:

Настроить параметры сортировки можно в Virtuemart > Настройки > Настройки сортировки.

vm-sorting

Фильтрация по производителям включается опцией Показывать производителей в Virtuemart > Настройки > Шаблоны.

Ничего сложного, все настройки понятны. Трудности возникают тогда, когда необходимо изменить внешний вид сортировки, например, вывести все параметры не в виде выпадающего списка, а в строчку или добавить кнопку, позволяющую менять порядок (например, показать сначала самые дешевые или дорогие товары) для данного параметра.

Плагин VmSorting

Версия: 1.2

Последнее обновление: 28.02.2017

Дата создания: 11.10.2016

Совместимость с Joomla: 2.5.x - 3.9.x

Совместимость с Virtuemart: 2.0.x - 3.4.2

Стоимость: 700р. 400р. (до 30.11.2018)

Бесплатные обновления в течении 12 месяцев.

Демо Купить

Плагин полностью меняет стандартный вид сортировки, добавляя кнопку смены порядка (удобно когда идет, например,  сортировка по цене и нужно выбрать показ от дешевого к дорогому и наоборот). Работает в 2 режимах: выпадающий список и вывод в строку.

Для правильной работы в используемом шаблоне должен быть подключен bootstrap. Все стили кнопок наследуются от него.

В настройках можно выбрать вид сортировки: выпадающий список или вывод в строку.

sorting

Вид стандартной сортировки

sort

Вид сортировки с плагином VmSorting

sort2

Сортировка с выводом в строку

sort3

Сортировка по производителю автоматически скрывается если в категории товары только одного производителя.

Решение возможных проблем

Если при смене направления сортировки не меняется иконка со стрелкой, то, скорее всего в Virtuemart > Настройки > Настройки сортировки для опции Порядок сортировки по умолчанию выбран Descending.

Можно сменить на Ascending. Если порядок важен,  то в файле /plugins/system/vmsorting/media/jquery.vmsorting.js в 2-х местах замените

на

VM Sorting и CF Filter Module

Если на сайте используется CF Filter Module, то для правильной работы сортировки после ajax обновления фильтра в файле /modules/mod_cf_filtering/assets/general.js после

добавьте

94 комментария

    ineks76

    Здравствуйте. Интересный плагин, а можно в демке показать еще вывод блоками?

      admin

      admin

      Здравствуйте!
      Сменил настройки на демо-сайте.

        ineks76

        Спасибо посмотрел.Надо брать))

    spro1

    подскажите пожалуйста, какие файлы отвечают за код самих кнопок сортировки в virtuemart?

      spro1

      вопрос не актуален, извините за невнимательность, в предыдущей статье все есть

        admin

        admin

        Рад, что проблема решилась.

    Макс

    Приветствую, установил плагин, включил его но на сайте ничего не изменилось... нужно ли что то еще настраивать?!

      admin

      admin

      Пришлите ссылку на сайт.

        Макс

        http://interierro-shop.ru/predmety-interyera

          admin

          admin

          На странице не подключен скрипт плагина. Проверьте активирован ли плагин.
          Если проблема останется, то пришлите доступ к админке сайта на admin@virtuemart.su, разберемся в чем проблема.

            duhovny

            Посмотрел на сайт товарища ..
            после нажатия на сортировку, элемент сортировки исчезает ..
            несколько раз попробовал .. и на IE та же ситуация
            И кнопку наличие можете запилить на ваше демо?

            странно что в комментах нельзя скриншоты впихнуть )))

            admin

            admin

            На какой сайт?
            Скриншот можно добавить с помощью html тега img

            И кнопку наличие можете запилить на ваше демо?

            В смысле, добавить сортировку по наличию товара?

            duhovny

            на сайте http://interierro-shop.ru/predmety-interyera

            да по наличию

            admin

            admin

            На указанном сайте плагин не подключен, выводится стандартная сортировка. В чем причина не могу сказать, разработчик со мной так и не связался.
            Сортировку на наличию на демо-сайт добавил.

    Johnson

    Здравствуйте. А плагин сортирует "по цене", если цены заданы в USD и EUR, а выводятся в Руб.?

      admin

      admin

      Здравствуйте!
      Плагин не меняет стандартного функционала сортировки virtuemart, а только изменяет внешнее представление.
      Если стандартная сортировка справляется с этой задачей, то и с плагином все будет работать.

        Johnson

        Спасибо. Плагин хороший, но стандартная сортировка с этой задачей не справляется..

    Иван

    Есть ли привязка к домену? И можно ли оплатить через интеркассу (яндекса нет)?

      admin

      admin

      Здравствуйте!
      Привязки к домену нет. По оплате написал на почту.

    Алекс

    Как сделать, что бы при сортировке товаров по цене(сначала дешевле, потом дороже) товары без цены всегда отображались в конце?

      admin

      admin

      К сожалению, в virtuemart нет такой возможности. Если найдете хак, пожалуйста, поделитесь.

    АЛЕКС

    Пока только дла старых версий хаки попадались. Приведу, может кого на мыль натолкнет.
    Отсортировать товар VirtueMart Null в конце
    При сортировке товара по цене, товар без цены отображается вверху, эту неприятность для линейки VirtueMart 1,0 убираем:
    administrator/components/com_virtuemart/html/shop_browse_queries.php

    ищем строку

    меняем на:

    Для VirtueMart линейки 1,1,x дополнительно

    файл
    administrator/components/com_virtuemart/html/shop.browse.php

    ищем процедуру

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

    Виталий

    Есть варианты оплаты через PayPal? А то Украина блокирует оплату через Яндекс.

      admin

      admin

      Здравствуйте!
      Ответил на почту.

      george007ua

      хм... 27,12,16 проводил оплату плагина перечислением с яндекс кошелька на яндекс кошелек, все было ок... есть сервисы по переводе денег, гугл в помощь

    george007ua

    А кто такой bootstrap? и как проверить его наличие в шаблоне перед приобретением плагина? шаблон OT Kelia (сорри за тупой вопрос)

      admin

      admin

      Bootstrap - фреймворк для web разработки.
      http://mybootstrap.ru/
      В Вашем шаблоне он уже встроен. Плагин сортировки подойдет.

    duhovny

    Сейчас популярно промокод на товар предлагать.
    можно ли как нибуть сделать сортировку по настраиваемому полю )))

    конечно через фильтр можно сделать но через элемент сортировке "юзабичнее" мне кажется 🙂

    и кстати пойдет здесь: gamesareus.ru

      admin

      admin

      По сортировке по произвольному полю, к сожалению, подсказать не смогу.

    Кристина

    Оплатила в 2 часа ночи Ваш плагин, уже 12 дня, а ссылки так и нет. Когда будет ссылка на скачивание или я могу забыть про свои 400 р?

      admin

      admin

      Здравствуйте!
      Извините за долгий ответ, ссылку отправил.

        Кристина

        Получила, спасибо, будем тестить

    Яна

    Здравствуйте, подскажите. пожалуйста, а в админке можно настроить в списке товаров сортировку или фильтр по кол-ву?

    В карточке товара в админке есть "статус: в наличии 54 шт." В админке мне нужно чтобы с помощью фильтра или сортировки я увидела какие товары 0 шт., какие 1 шт. и т.д.

      admin

      admin

      Здравствуйте!
      В админке так сделать нельзя.

    IsaeffSerge

    IsaeffSerge

    А у этого фильтра есть ограничение на кол-во полей?
    Он позволяет создавать исключающие поля, например, если выбрать производителя, то в следующем поле можно выбрать только модели этого производителя, а при выборе модели, то в след поле цвета или размеры только этой модели?

      admin

      admin

      Нет, этот плагин используется полностью стандартный функционал сортировки virtuemart, изменяя только ее внешний вид.

    IsaeffSerge

    IsaeffSerge

    А есть что то подобное?

      admin

      admin

      Не встречал.

    Олег

    А принцип сортировки старый я так понимаю. Например, у меня есть на сайте товарый залиты с разной валютой:Товар№1 = 1500руб, Товар№2 = 900руб и Товар№3 = 30$(1800руб) и товар №4 2$(120руб) . Но на сайте цена выводится только в рублях.
    Если мы применим сортировку по цене то получим:
    Товар№2 = 900руб
    Товар№1 = 1500руб
    Товар№4 2$ (120руб)
    Товар№3 = 30$ (1800руб)

    Товары все так же будут сортироваться, сначала одна валюта, потом другая, хотя на сайте выводит все в одной валюте...((

      admin

      admin

      Плагин меняет только внешний вид кнопок сортировки. Сама логика остается полностью стандартная.

        Олег

        Спасибо. А нет решения по модификации стандартной логики сортировки по цене?

          admin

          admin

          Не встречал.

      Александр

      Удалось решить проблему?
      С учетом нестабильности курса рубля некоторые поставщики переходят на $ в прайсах, а без корректной работы сортировки по цене с разными валютами как-то не айс.

        admin

        admin

        Попробуйте этот способ от пользователя Ejov
        В файле /administrator/components/com_virtuemart/models/product.php
        Сортировка с учетом валют:
        ищем строку

        и меняем на

    Виталий

    Плагин оплатил через вашу форму с Яндекс денег. Но на почту мне ничего не пришло. Что делать??

      admin

      admin

      Спасибо за покупку, ссылку отправил.

    Дмитрий

    "Основное отличие этой статьи в плагине VmSorting, который позволит быстро изменить внешний вид сортировки без правок кода."
    Пробовал на 4 сайтах. Менял шаблоны, крутил и так и эдак. Нигде не встал как заявлено в демо. Или криво отображается, или вообще ничего не меняет.

      admin

      admin

      В описании указано, что плагин работает на сайтах с bootstrap. Есть версия для сайтов без bootstrap. Чтобы понять почему возникли проблемы на Вашем сайте пришлите доступ к админке и ссылку на вопрос на admin@virtuemart.su, разберемся.

        Дмитрий

        Спасибо за помощь! Всё отлично работает!

    Василий

    Здравствуйте, а можно этим плагином настроить вот такую сортировку?

    http://www.6pm.com/men-clothing/CKvXAcABAuICAgEY.zso?s=isNew/desc/goLiveDate/desc/recentSalesStyle/desc/

    Василий

    Sort By: Новинки Популярное По имени от А-я и от A-Z Самая высокая цена Самая низкая цена

      admin

      admin

      Здравствуйте!

      Вывести в виде списка можно, но только так, как на скриншоте в статье, т.е. при выборе каждого способа сортировки справа будет показана кнопка, изменяющая порядок.

    Валерий

    Оплатил, а где скачать то?

      admin

      admin

      Спасибо за покупку, ссылку отправил.

    Лена

    Подскажите пожалуйста -
    как скрыть сортировку на странице с результатами поиска по VM ?
    В какое условие надо обернуть код сортировки при этом?

      admin

      admin

      Попробуйте обернуть в

    Jimichasp

    Здравствуйте. Подскажите, можно ли убрать из сортировки поле производителя и добавить другое:
    1. По цене (уже реализовано в плагине)
    2. По популярности
    3. По новизне.

      admin

      admin

      Здравствуйте!

      Плагин меняет только внешний вид, но никак не влияет на логику.
      Выбрать поля для сортировки можно в Virtuemart > Настройки > Настройки сортировки.

    Maxim

    Добрый день! Хочу плагин купить, два вопроса: 1 есть ли у меня в шаблоне подключённый bootstrap для корректной работы плагина? 2 Рядом хочу чуть правее вставить кнопку фильтр, подскажите плиз куда именно в коде ее вставлять?

      admin

      admin

      Здравствуйте!

      У Вас в шаблоне нет bootstrap.
      Можно подключить отдельно необходимые скрипты.
      После покупки смогу помочь с этим вопросом.
      По фильтру. Пришлите скрин того, что именно должно получиться в итоге.

        MAXIM

        Добрый день! Оплатил плагин!

          admin

          admin

          Спасибо за покупку, ссылку отправил.

    Ирина

    Здравствуйте!
    Оплатила плагин. Когда ждать ссылку?

      admin

      admin

      Здравствуйте!

      Спасибо за покупку, ссылку отправил.

    Лола

    Здравствуйте.
    Подскажите пожалуйста, а можно сделать чтобы товары которых нет в наличии вообще не отображались в списке товаров? При этом страницы (карточки товаров) с такими товарами не удалять.

      admin

      admin

      Здравствуйте!

      В Virtuemart > Настройки > Внешний вид активируйте опцию Не показывать товар

        Лола

        В этом случае ссылка карточки товара будет 404. А мне надо чтобы она оставалась 200, но при этом товар был скрыт в списке категории

          admin

          admin

          В таком случае нужно вносить правки в ядро virtuemart, готовых решений не встречал, обратитесь на фриланс.
          Как варинат, можно настроить сортировку по наличию в Virtuemrt > Настройки > Настройки сортировки и выводить товары, которых нет в наличии, в самом конце.

    Лола

    Спасибо за ответ.
    Делюсь решением данного вопроса.
    В файле com_virtuemart/category/default.php в 47 строке добавить код -
    if (!$product->product_in_stock) {
    continue;
    }
    Товары исчезают в списке категорий товаров, но при этом остаются доступны по своим адресам (которые кстати проиндексировали поисковики и мы не будем получать 404 стр, как если бы отключили товар).
    В таком варианте посетителей не раздражает отсутствие товаров и поисковики продолжают видеть карточки товаров.
    Надеюсь это решение пригодится ещё кому - нибудь.

      admin

      admin

      Спасибо, что поделились, очень элегантное решение.

    Марк

    Здравствуйте, можно ли вывести фильтр по производителям в сайтбар?

    Этот код не работает

      admin

      admin

      Здравствуйте!

      Стандартными средствами не получится вывести, приведенный код работает только в шаблоне категории.
      Можно попробовать с помощью javascript перенести уже готовый html-код сортировки в нужное место.

        Марк

        Если кому-то понадобится:

        , где .text элемент из которого вы забираете данные и вставляете в div.
        А скажите еще пожалуйста, название категории тоже нельзя вывести стандартными средствами за пределы шаблона категории?

          admin

          admin

          Проще будет также с помощью скрипта перенести в нужное место.

    Елена

    Здравствуйте!
    Если на странице категории выбрать другой параметр сортировки (отличный от установленного по умолчанию), после чего перейти в другую категорию - снова выбрана сортировка по умолчанию, но реально товар отсортирован по ранее выбранному параметру. Изменение направления сортировки не помогает, товары продолжают сортироваться не по тому параметру, что показан в комбобоксе. Можно ли это как-то вылечить?

      admin

      admin

      Здравствуйте!

      Если выключить плагин, то проблема сохраняется? Если да, то тут нужно разбираться в самом virtuemart, поскольку сам плагин никак на сортировку не влияет и меняет только ее внешний вид.

        Елена

        Да, сохраняется. Решила пока так.
        /administrator/components/com_virtuemart/models/product.php
        стр. 185 (VirtueMart 3.2.4).

        Если кто-то будет пробовать и обнаружит побочки такого решения, напишите пожалуйста (это отменяет сохранение выбранной ранее сортировки, возможно не всех устроит, но по мне лучше так, чем глюк).

          admin

          admin

          Спасибо, что поделились решением.

    Дмитрий

    Подскажите, пожалуйста, возможно-ли сделать сортировку товаров по окончательной цене с учетом скидки (override отключено,) сейчас сортирует по базовой цене, может как-то поправить этот код?

      admin

      admin

      Т.е. у Вас скидки формируются с помощью правил расчета и это не учитывается в сортировке? Пришлите ссылку на страницу с проблемой.

    Ильяз

    Как долго ожидать плагин, написано до 3 часов. Но времени в некотором роде больше.

      admin

      admin

      Спасибо за покупку, ссылку отправил.

    Надежда

    Не могу оплатить ни одним из представленных способов, в другой стране и не пользуюсь яндекс.деньгами и телефон тоже соответс, карта без 3d, есть еще варианты оплаты?

      admin

      admin

      Здравствуйте!

      По оплате написал на почту.

    Егор

    Добрый день, столкнулся с проблемой, я использую Custom Filters Pro, если я выбираю любой из фильтров, обновляется страница и плашка с сортировками пропадает! Есть решение данного вопроса?

      admin

      admin

      Здравствуйте!

      Пришлите доступ к админке и ftp на admin@virtuemart.su, решим вопрос.

    Виталий

    Вы решили данную проблему? этот модуль Вам помог ?

    mik-on

    Добрый вечер!

    Столкнулся с 2 проблемами:
    1. При нажатии на селектор, но если потом не выбрать "по новизне" и т.д., а просто кликнуть "мимо", селектор пропадает.
    Обратил внимание, что появляется в коде display:none

    При этом, также нашел такую закономерность.. В файле шаблона ....category/default.php есть такая строка в самом верху JHtml::_ ('behavior.modal');
    Вот если ее убрать, то блок не пропадает, но перестает работать фильтр 🙁

    2. После фильтрации пропадает блок с сортировкой ( у меня стоит фильтр Search (filter) module for Virtuemart 3 multiple customfield plugin)

      mik-on

      также блок с фильтрацией не показывается на странице результатов поиска модуля vm yandex search.

        admin

        admin

        Сортировка не показывается на страницах с результатами поиска от VM Yandex Search намеренно. Ее показ вызывает ошибку. Результаты поиска сортируются только по релевантности.

      admin

      admin

      Здравствуйте!

      1. Пришлите ссылку на страницу с проблемой.

      2. Нужно в настройках модуля фильтра задать более точный селектор, чтобы не обновлялась область с сортировкой.
      Что у Вас указано в настройках в опции AJAX обновление товаров (CSS selector)?

        mik-on

        1. например здесь (а вообще на любой странице) https://nabludalka.ru/oborudovanie/sistemy-okhrany-i-signalizatsii/domofony/videodomofony
        кликаете по полю и вместо выбора кликаете мимо (чтобы страница не обновлялась)

        2. в настройках модуля такой текст
        SqueezeBox.assign($$('a.modal'), {parse: 'rel'});
        jQuery(document).ready(function($) {
        $('.orderlist-container').hover(
        function() { $(this).find('.order-list').stop().show()},
        function() { $(this).find('.order-list').stop().hide()}
        );
        Virtuemart.product($("form.product"));
        $("form.js-recalculate").each(function(){
        if ($(this).find(".product-fields").length) {
        var id= $(this).find('input[name="virtuemart_product_id[]"]').val();
        Virtuemart.setproducttype($(this),id);
        }
        });
        });

          admin

          admin

          Пришлите доступ к админке, доступ к сайту по ftp и ссылку на вопрос на admin@virtuemart.su, разберемся.

            mik-on

            отправил

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*
Для вставки кода заключите его в теги [php] [/php]
*

Оплата без комиссии

Ссылка на скачивание плагина будет отправлена Вам на почту в течении 1-3 часов после оплаты.

×

С 15-18 июня admin в отпуске.

Ответы на все вопросы и ссылки на товары будут присланы 19 июня.

Спасибо за понимание и хороших выходных.

×