Slava

Slava

С нами с 10 февраля 2020; Место в рейтинге пользователей: #881
Slava
Slava
25 апреля 2020, 11:32
0
Как только не пробовал, сделал обходным путем
{"tok:IN":[500,600]}
и просто потом через range добавил еще туда чисел. P.S BETWEEN не работает.
Slava
Slava
22 апреля 2020, 15:47
0
Пробовал через такой join
&leftJoin=`{
        "msProductOption":{
            "class":"msProductOption",
            "on":"`tok`.product_id = Data.id AND `tok`.key = 'tok'"
        }
    }`

    &where = `{"0":["`tok`.`value` BETWEEN 500 and 600"]}`
Slava
Slava
22 апреля 2020, 15:29
0
Нужно от и до, то есть не меньше 500 допустим и не больше 600, выше запись тоже не работает, в optionFilters там вообще какие-либо sql не работает, а в where не может достать ток
Slava
Slava
22 апреля 2020, 15:14
0
Пробовал через leftjoin вместе с select, тоже не работает.
&leftJoin=`{
        "msProductOption":{
            "class":"msProductOption",
            "on":"msProductOption.value = 'tok'"
        }
    }`
    &select=`{
        "msProduct":"*",
        "msProductOption":"CAST(msProductOption.value AS INT) as tok"
    }`
    &where = `{"tok:=":550}`
Slava
Slava
22 апреля 2020, 15:12
0
Это тоже пробовал, в итоге он дает все то что больше 500 и что меньше 600!!!
Slava
Slava
22 апреля 2020, 13:17
0
'where' => '{"Data.options.tok:=":550}'
Это тоже не работает
Slava
Slava
22 апреля 2020, 12:46
0
Конечно пытался вариантом
'{"tok:>":500, "AND:tok:<":600}'
Все равно кидает не фильтруя.
Slava
Slava
20 апреля 2020, 14:44
0
Да про тв, фильтр был под один параметр, а тут захотели 2 и более, соответственно сказали просто добавить, при таком раскладе именно как у меня это можно пофиксить так, чтобы айди был разные)а поскольку параметров всего 5 то норм
Slava
Slava
20 апреля 2020, 12:45
0
Заметил))подскажите пожалуйста как это исправить
Slava
Slava
20 апреля 2020, 07:07
0
Легко, для начала нужно чтобы твой ключ был через :LIKE а значение обязательно в одинарных кочках с знаками процента по краям лайк дыс
$where['key:LIKE'] = '%myvalue%';
Slava
Slava
15 апреля 2020, 17:11
0
Легко брат, если необходимо сделать услови е «и», «или», необходимо положить их в список вот пример.
$where[] = array("from-year:=" => $year, "OR:by-year:=" => $year);
Slava
Slava
15 апреля 2020, 16:53
0
Еще странно, если поменять местами айди родителя, допустим поставить в конец, то фильтр дает больше объектов, что такое?
Slava
Slava
15 апреля 2020, 15:34
0
Странно что именно с этого поля так происходит, хотя если вместе с ним еще другое поле то работает нормально.
Slava
Slava
10 апреля 2020, 14:09
0
Так в том то и дело, что если использовать колонку «Файлы» в левом дереве а не в диспетчере, то все работает, создаются папки, я вижу папки, файлы, могу туда загружать, а диспетчере я могу только загружать да и то только в корень.
Slava
Slava
10 апреля 2020, 07:58
0
Я так полагаю что это работает по плагинам, и поэтому не дает видеть именно в диспетчере, нужно дать доступ к запуску плагинов?
Slava
Slava
07 апреля 2020, 14:48
0
Как всегда…
Добавляем это в ваш плагин
$hash = (string) $_POST['hash'];
Затем удалите все в вашем коде, за исключением генерации where

Добавьте это в конец вашего плагина
$_SESSION['pdoPage'][$hash]['where'] = $where;
$output['message'] = $where;
$output['success'] = true;
echo $modx->toJSON($output);
die();
В ваш код отправки, необходимо добавить тот самый хэш, а также сказать пдо использовать новый конфиг.
function sendAjaxFilterToServer(fields){

        $.post(document.location.href, {
            action: 'filter',
            fields: fields,
            hash: pdoPage.configs.page.hash

        }, function(data) {

            var tmp = document.location.href;
            pdoPage.keys.page = 0;
            pdoPage.loadPage(tmp, pdoPage.configs.page);

        });
    
    
    }
Slava
Slava
12 февраля 2020, 14:53
0
Отче наш простите, я просто идиот, не думал что подобное случится))пропал закрывающий тэг боди, я ДУРАК, прошу прощения, что осквернил pdo.