Slava

Slava

С нами с 10 февраля 2020; Место в рейтинге пользователей: #881

Pdopage через where в плагине фильтрует по всем контекстам, хотя айди родителя в 1 конектсте, как исправить?

Код фильтра
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;

    }
}
Slava
15 апреля 2020, 15:32
modx.pro
588
0

Не могу дать доступ контент менеджеру, создавать папки в диспетчере файлов, как исправить?

В обычной в кладке файлы, я могу создавать папки и грузить туда файлы, как только открываю диспетчер файлов, там не могу создать папки, и не могу видеть другие папки, хотя в обычной вкладке «Файлы» в левой колонке я вижу и могу создавать.
Slava
10 апреля 2020, 07:58
modx.pro
697
0

Не могу запустить pdo внутри чанка, обрабатываемого через плагин, как исправить?

Есть плагин, в котором генерируются ресурсы, все выводится нормально, почти.., но не могу там запустить допустим сниппет, или эту команду [[#[[+tv.customer-id]].pagetitle]] он выводит это как текст, а если ставить просто [[+tv.customer-id]], то тупо выведет айди, а нужно, чтобы вывел заголовок страницы.

Часть кода
$params = array(
    'parents' => $parent,
    'limit' => 6,
    'depth' => 1,
    'offset' => $offfset,
    'level' => 1,
    'tpl' => $tpl,
    'includeTVs' => $tvs,
    'where' => $modx->toJSON($where)
);
$goods = $modx->runSnippet('pdoPage',$params);
Так выглядит темплейт.

<tr>
    <td>[[+idx]]</td>
    <td>
        <p>
            [[+pagetitle]]
        </p>
    </td>
    <td>
        <p>
            [[+tv.object-name]]
        </p>
    </td>
    <td>
        <p>[[#[[+tv.project-type]].pagetitle`]]</p>
    </td>
    <td>
        <p>
            [[+tv.from-year]][[+tv.by-year:!empty=`-[[+tv.by-year]]`]]
        </p>
    </td>
    <td>
        <p>
            [[+tv.project-additional]]
        </p>
    </td>
</tr>
Slava
07 апреля 2020, 13:58
modx.pro
1
464
0

Не работает pdoPage по кнопке, как исправить?

Не могу завставить работать pdoPage, ошибок в консоли нету, проверял в нескольких браузерах, в итоге появляется просто стандартная навигация от pdopage, и при этом при клике на навигацию, переход идет на страницу а не аякс подгрузка.

вот код полностью
<div class="equipments__wrapper" id="pdopage">
	[[$crumbs]]
	
	<div class="equipment__wrapper rows">
        [[!pdoPage:default=`<h3 class="def-bold-title equipment__title">Список пуст.</h3>`?
            &parents=`3`
            &limit=`3`
            &ajaxElemWrapper=`#pdopage`
            &ajaxElemRows=`#pdopage .rows`
            &ajaxElemMore=`#pdopage .loadMore`
            &ajaxMode=`button`
            &sortby=`{ "parent":"ASC", "menuindex":"ASC" }`
            &tpl=`equipmentTpl`
            &ajaxTplMore=`@INLINE <button class="def-btn loadMore">Посмотреть еще</button>`
        ]]
	</div>
	[[!+page.nav]]
</div>
Slava
11 февраля 2020, 14:27
modx.pro
686
0

Как добавить в migx список, в котором будут другие migx объекты, при выборе откроется соответствующий?

Как добавить в migx список, и в списке будут другие migx объекты, при выборе одной записи из списка появится соответствующий migx обект, и после заполнения добавится в основный migx.

migxMain
    MigxLISTBOX
        1 name
            3
            4
        2 name
            5
            6
Slava
10 февраля 2020, 13:00
modx.pro
287
0