Сортировка связей в Minishop2
Добрый день!
Никто не сталкивался с необходимостью сортировки связей в админке с выводом на фронте именно в такой последовательности?
Есть главный товар, к нему подцепляются другие.
На фронте выводятся по id через msProducts.
Кто-то такое реализовывал уже, например некий индекс сортировки?
Заранее благодарен.
Никто не сталкивался с необходимостью сортировки связей в админке с выводом на фронте именно в такой последовательности?
Есть главный товар, к нему подцепляются другие.
На фронте выводятся по id через msProducts.
Кто-то такое реализовывал уже, например некий индекс сортировки?
Заранее благодарен.
Комментарии: 2
Если еще не нашли решение, то могу в комментариях написать свое, не очень красивое, но рабочее. И при обновлении minishop2 все продолжит работать
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 и пишете в нем
Далее очищаете кэш браузера. На странице установки связей появится кнопка «Изменить сортировку». Вам необходимо выбрать строчку и нажать кнопку. Задаете сортировку и нажимаете ОК.
Что бы потом сортировать по этому полю при выводе msProducts в поле &sortby вам нужно указать { «Link.sort»:«ASC» }
P.S. Данный код ни на что не претендует. Используйте его на свой страх и риск. Если будет время, то перепишу и обновлю комментарий.
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. Данный код ни на что не претендует. Используйте его на свой страх и риск. Если будет время, то перепишу и обновлю комментарий.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.