171 похожих чатов

Ребят подскажите, пожалуйста, как в рандомизировать выборку из msProducts по

полю? типа: &sortby=`Data.new, RAND()`?

18 ответов

58 просмотров

{'!msProducts' | snippet : [ 'parents' => 11, 'limit' => 24, 'where' => '{"Data.new":"1"}', 'sortby' => 'RAND()', 'tpl' => 'tpl.item', ]}

Дмитрий- Автор вопроса
Ozzy
{'!msProducts' | snippet : [ '...

примерно так сначала и подумал, но у меня ещё есть поле, в котором числа от 0 и больше. и мне нужно эту выборку рандомизировать, и отсорировать от большего к меньшему. с where так не получается(

Дмитрий- Автор вопроса
Дмитрий- Автор вопроса
Ozzy
{'!msProducts' | snippet : [ '...

рандомизировать сначала всё что больше нуля, а снулем добавить в конец

Дмитрий
примерно так сначала и подумал, но у меня ещё есть...

Видимо это поле остаток? Сначала вывести все, которые есть в рандомном порядке и под конец добавить те, которых нет, верно? Выводишь просто msProducts или в pdoPage обертке?

Дмитрий- Автор вопроса
Dan
Видимо это поле остаток? Сначала вывести все, кото...

да, это поле с остатком. вывожу вообще чере ajaxsnippet так: [[AjaxSnippet? &snippet=`msProducts` &wrapper=`tpl.msProducts.categoryProducts` &as_mode=`onload` &parents=`[[*parent]]` &resources=`-[[*id]]` &tpl=`tpl.msProducts.row.custom` &limit=`12` &sortby=`RAND()` &includeThumbs=`medium` &templates=`6` ]]

Дмитрий- Автор вопроса

ну вот я и не очень понял, как правильно это сделать

Ozzy
screenshot

фигня, как он rand туда добавит

Дмитрий- Автор вопроса
Ozzy
screenshot

так не получается

Ozzy
screenshot

если бы он сказал, что сначала по остаткам в убывающем порядке и потом по цене например в возрастающем, то ок.

Дмитрий- Автор вопроса
Dan
если бы он сказал, что сначала по остаткам в убыва...

да, всё правильно) у меня получается двойная сортировка что-ли должна быть. я пока вижу способ только два раза сниппет вызывать: отдельно где >0 и отдельно с 0, но это такое себе

Дмитрий
да, всё правильно) у меня получается двойная сорти...

Хотя попробуй так, хз правда &sort=`Data.ostatok:desc,rand()`

Дмитрий- Автор вопроса
Дмитрий
так не получается

Чтобы сначала вывести все товары с остатком больше 0 через rand() а затем товары с остатком 0, вы можете использовать несколько AjaxSnippets и комбинировать результаты. Сначала создайте AjaxSnippet, который будет выводить товары с остатком больше 0: [[AjaxSnippet? &snippet=`msProducts` &wrapper=`tpl.msProducts.categoryProducts` &as_mode=`onload` &parents=`[[*parent]]` &resources=`-[[*id]]` &tpl=`tpl.msProducts.row.custom` &limit=`12` &sortby=`RAND()` &includeThumbs=`medium` &templates=`6` &where=`{"stock >":"0"}` ]] Затем создайте еще один AjaxSnippet, который будет выводить товары с остатком 0: [[AjaxSnippet? &snippet=`msProducts` &wrapper=`tpl.msProducts.categoryProducts` &as_mode=`onload` &parents=`[[*parent]]` &resources=`-[[*id]]` &tpl=`tpl.msProducts.row.custom` &limit=`12` &sortby=`RAND()` &includeThumbs=`medium` &templates=`6` &where=`{"stock":"0"}` ]] Таким образом, сначала будет выведен список товаров с остатком больше 0, отсортированных случайным образом. Затем будут выведены товары с остатком 0, также отсортированные случайным образом.

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта