Pdopage через where в плагине фильтрует по всем контекстам, хотя айди родителя в 1 конектсте, как исправить?
Код фильтра
P.S как только не пытался сделать простое действие вывести объекты по tv он выводит во всех контекстах, при получении данных на плагин они нормальные, на выход where они нормальные, такие же как и обычные. P.S. не смотрите на бред в некоторых местах пробовал по разному, если вводить только год то ищет по всем контекстам, если выбрать пункт какой-либо фильтрует нормально, так же выбирал заказчик и год, тоже фильтрует нормально, если выбрать только год то ищет по всем, хотя parent указан, указывал по разному, и :Like, и :IN и :=
На выходе where имеет это
P.S как только не пытался сделать простое действие вывести объекты по tv он выводит во всех контекстах, при получении данных на плагин они нормальные, на выход where они нормальные, такие же как и обычные. P.S. не смотрите на бред в некоторых местах пробовал по разному, если вводить только год то ищет по всем контекстам, если выбрать пункт какой-либо фильтрует нормально, так же выбирал заказчик и год, тоже фильтрует нормально, если выбрать только год то ищет по всем, хотя parent указан, указывал по разному, и :Like, и :IN и :=
На выходе where имеет это
{"parent:LIKE":4,"from-year:=":"2012","OR:by-year:=":"2012"}.<?php
if(sizeof($_POST) != 0){
switch ($_POST['action']) {
case 'filter':
$Data = $_POST;
if (sizeof($Data['fields']) >= 0) {
$hash = (string) $_POST['hash'];
$parentit = $Data["parent"];
$where = array();
// $where["template:="] = $templ;
$fields = $Data['fields'];
$where["parent"] = (int)$parentit;
foreach($fields as $key => $value){
switch ($key){
case 'project-type':
if(sizeof($fields[$key]) != 1){
$where = array();
} else{
$where["parent"] = (int)$parentit;
$where[$key] = $fields[$key];
}
break;
case 'form':
$where = array();
if(!empty($fields[$key]['customer']) && !empty($fields[$key]['year'])){
$where['customers-choose:LIKE'] = $fields[$key]['customer'];
$where["AND:parent:LIKE"] = (int)$parentit;
$year = $fields[$key]['year'];
$where["AND:from-year:="] = $year;
$where["OR:by-year:="] = $year;
break;
} else {
if(!empty($fields[$key]['customer'])){
$where['customers-choose:='] = $fields[$key]['customer'];
}
if(!empty($fields[$key]['year'])){
$year = $fields[$key]['year'];
$where["parent:LIKE"] = (int)$parentit;
$where["from-year:="] = $year;
$where["OR:by-year:="] = $year;
}
}
break;
default:
break;
}
}
$_SESSION['pdoPage'][$hash]['where'] = $where;
$output['message'] = $where;
$output['success'] = true;
$_SESSION['pdoPage'][$hash]['parents'] = (int)$parentit;
echo $modx->toJSON($output);
die();
} else {
$output['message'] = 'Error';
echo 'Error';
die();
}
break;
}
} Комментарии: 3
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
SlavaSlavaSlava