Minishop2, mFilter2 вывод товаров по возрастанию цены, пустые и 0 в конце

Здравствуйте!
Столкнулся с такой задачей. Есть товары и их вывод через mFilter2, т/к там фильтрация еще нужна.
И есть товары у которых цена 0, так вот хочется, чтобы товары выводились по возрастанию цены, но при этом товары с пустой ценой или 0 выводились в самом конце?
Если бы без фильтра я бы мог просто 2 раза вызвать вывод товаров, в одном товары с сортировкой по возрастанию цены, но без товаров с ценой 0 или пустой. А уже вторым вызовом выводить пустые товары. Но тут все связано с фильтром и что-то понятия не имею как это можно сделать?

Кто-то сталкивался? подскажите пожалуйста
Роман
31 октября 2018, 11:55
modx.pro
2 367
0

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

Dmitry P.
15 января 2019, 10:12
0
Тоже столкнулся с такой проблемой
вот такой запрос напрямую в mysql работает
SELECT * 
FROM  `modx_ms2_products` 
ORDER BY  `price`=0,  `price` ASC
но как его записать в sortby — не понимаю
конструкция типа
'sortby' => '{"Data.price:=":"0","Data.price":"ASC"}'
не работает и выдает ошибку в логе
(ERROR @ /core/components/pdotools/model/pdotools/pdofetch.class.php: 172) [pdoTools] Error 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ':= ASC, Data.price ASC' at line 1
    Роман
    15 января 2019, 10:18
    0
    Так и получается, что если ты используешь MsFilter2, то ты не можешь эти два вызова (сначала товары обычные, а потом с 0 ценой) объединить в один, либо я просто не понимаю как это делается.
    Dmitry P.
    16 января 2019, 08:37
    1
    0
    вот так заработало
    'sortby' => '{"Data.price=0,Data.price":"ASC"}',
    цены сортируются по возрастанию, но нулевые — в конце
      Роман
      17 января 2019, 10:31
      0
      А как это записать если вызываешь сниппет обычным способом, а не через Fenom?
      Пробую так, ничего не меняется:
      [[!mFilter2?
      	&limit=`15`
      	&parents=`[[*id]]`
      	&element=`msProducts`
      	&suggestions=`false`
      	&where=`{"Data.price:=":"0","Data.price":"ASC"}`
      ]]
        Dmitry P.
        18 января 2019, 09:54
        0
        Скорей всего как-то так:
        &sortby=`{"Data.price=0,Data.price":"ASC"}`
          Роман
          18 января 2019, 11:04
          +1
          Да, получилось спасибо!
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      6