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

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

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

18 ответов

33 просмотра

{'!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, также отсортированные случайным образом.

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

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

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

здравствуйте. совершаю вот такую вещь: strcpy(line, (char)current_number); где current number — неподписанный шорт, line — массив чаров. ругань следующая: main.c:29:30: error...
Roberto's Ширгозиев
13
Можно попросить небольшое ревью кода? Тут немнога, я ничего интереснее не придумал, чем написать аналог tree в качестве практики с cmake. https://github.com/hrimov/tree-unix/...
Andrew Hrimov
11
Всем привет. Ребят подскажите пожалуйста. Вопрос по дизасемблировани. Начну с начала. У меня есть скомпилированная программа на ГО (я разработчик) - в ней есть защита лицензии...
Zloy
11
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
@MrMiscipitlick А можешь макрос написать, который будет вычислять смещение относительно переданных меток? Просто .label1-.label2, и вернуть значение.
КТ315
35
А еще в перле можно уже @arr1 + @arr2?
Sergei Zhmylove
53
кто тебе сказал, что она угроблена? многие только начинают жизнь, после увольнения из Гугла, Майкрософта, Оракла,...
Alex Kom
9
В альтернативе у нас сидеть горбатиться на дядю в галерах, пока не помрешь или пока тебя не заменят более молодым сотрудником, который готов гребсти в два раза дешевле. Вот и ...
Кабан Кабанов
7
Привет всем. появился вопрос. Разрабатываю сайт, в данный момент он запущен. Хостинг beget. Добавляю на сайт яндекс метрику с помощью полей client-settings (взято отсюда http...
Andrew
2
Подобного рода ;Следующие три строки это директивы ассемблера, ;которые можно не задавать, т.к.работаем в Visual Studio. ;Символ ";" - это начало однострочного комментария ...
Егор Анелькин
3
Карта сайта