выборка в migx из resourcelist

Подскажите как сделать выборку из ресурсов например по заданному шаблону или родителю?
А то, судя по всему ресурсов стало так много что при нажатии кнопки добавить элемент открывается окно с Loading и на этом все…
[
  {
    "caption": "Заголовок",
    "fields": [
      {
        "field": "document",
        "caption": "Статья",
        "inputTVtype":"resourcelist"
      }
    ]
  }
]
Евгений
06 июля 2020, 03:04
modx.pro
2 070
0

Комментарии: 7

Павел Романов
06 июля 2020, 09:05
+1
Сделайте TV типа «Список (одиночный выбор)», в котором в поле «Возможные значения» получайте нужные ресурсы через @EVAL.
Можно прямым запросом в базу, или (если хочется сортировки, настройки вывода, фильтрации) через сниппет, например:

@EVAL return '---==||'.$modx->runSnippet('pdoResources',array(
'parents' => 13,
'templates' => 10,
'limit' => 0,
'sortby'=>'{  "parent":"ASC", "pagetitle":"ASC"  }',
'tpl'=>'@INLINE [[#[[+parent]].pagetitle]] » [[+pagetitle]] ([[+id]])==[[+id]]',
'showUnpublished' => 1,
'outputSeparator'=>'||'
));

И уже эту TV укажите в качестве источника MIGX:

[
  {
    "caption": "Заголовок",
    "fields": [
      {
        "field": "document",
        "caption": "Статья",
        "inputTV":"tvname"
      }
    ]
  }
]
    Евгений
    07 июля 2020, 02:08
    0
    если прикрепить TVшку к ресурсу то все ок
    а если вставить в MIGX
    то при нажатии на «добавить элемент» вижу такое

    с чем это может быть связано?
      Павел Романов
      07 июля 2020, 13:00
      0
      К шаблонам и ресурсам ее прицеплять не нужно.
      Покажите, что в «Возможных значениях».
        Евгений
        07 июля 2020, 14:36
        0
        @EVAL return '---==||'.$modx->runSnippet('pdoResources',array(
        'parents' => 11,
        'templates' => 2,
        'limit' => 0,
        'sortby'=>'{  "parent":"ASC", "pagetitle":"ASC"  }',
        'tpl'=>'@INLINE [[#[[+parent]].pagetitle]] » [[+pagetitle]] ([[+id]])==[[+id]]',
        'showUnpublished' => 1,
        'outputSeparator'=>'||'
        ));
        да я просто для проверки подключал к шаблону
      Антон Тарасов
      23 сентября 2021, 09:47
      0
      если прикрепить TVшку к ресурсу то все ок
      а если вставить в MIGX
      то при нажатии на «добавить элемент» вижу такое
      с чем это может быть связано?
      у меня такое происходило также, но только потому что в MIGX после вызова сниппет через EVAL не была указана точка с запятой, в противном случае все отлично:

      {"field":"category", "caption":"category", "inputTVtype":"listbox",
           "inputOptionValues":"@EVAL return $modx->runSnippet('getCategoryList');"}

      Ну и на всякий случай сниппет getCategoryList, хотя тут выбирается список категорий.

      <?php
      $result = array();
      $c = $modx->newQuery('modCategory');
      $c->sortby('category','ASC');
      $categories = $modx->getCollection('modCategory',$c);
      foreach($categories as $category){
         $result[] = $category->get('category')."==".$category->get('category');
      }
      return implode("||", $result);
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    7