Сортировка связей в Minishop2

Добрый день!

Никто не сталкивался с необходимостью сортировки связей в админке с выводом на фронте именно в такой последовательности?
Есть главный товар, к нему подцепляются другие.
На фронте выводятся по id через msProducts.

Кто-то такое реализовывал уже, например некий индекс сортировки?

Заранее благодарен.
Вадим Раевский
04 августа 2020, 21:05
modx.pro
825
0

Комментарии: 2

Ivan
26 октября 2020, 22:28
0
Если еще не нашли решение, то могу в комментариях написать свое, не очень красивое, но рабочее. И при обновлении minishop2 все продолжит работать
    Ivan
    26 октября 2020, 23:59
    2
    +1
    1) В базе данных в таблице PREFIXms2_product_links добавляете поле sort типа INT со значение по умолчанию 500.
    2) Создаете файл /assets/components/minishop2/js/mgr/product/links.grid.custom.js. Файл можете скачать по ссылке cloud.mail.ru/public/n6em/21JzhRihW
    4) Создаете плагин, вешаете на событие msOnManagerCustomCssJs и пишете в нем
    <?php
    switch ($modx->event->name) {
        
        case 'msOnManagerCustomCssJs':
            if ($page != 'product_update') return;
            
            $assetsUrl = '/assets/components/minishop2/';
            $modx->controller->addLastJavascript($assetsUrl . 'js/mgr/product/links.grid.custom.js');
      break;
    
    }
    5) Создаете файл /assets/components/minishop2/getSort.php. Скачать можно по ссылке cloud.mail.ru/public/3cUV/57yeWGajo

    Далее очищаете кэш браузера. На странице установки связей появится кнопка «Изменить сортировку». Вам необходимо выбрать строчку и нажать кнопку. Задаете сортировку и нажимаете ОК.

    Что бы потом сортировать по этому полю при выводе msProducts в поле &sortby вам нужно указать { «Link.sort»:«ASC» }

    P.S. Данный код ни на что не претендует. Используйте его на свой страх и риск. Если будет время, то перепишу и обновлю комментарий.
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      2