Как использовать выборку getCollection

Добрый вечер.
Как на основе вывода getCollection создать такой же список категорий в другом родителе с таким же pagetitle
$where = array(
'parent' => 42
);
$resources = $modx->getCollection('modResource',$where);
$output = 'Всего ресурсов: '.count($resources).'';
foreach ($resources as $k => $res) {
$output .= '['.$k.'] => '.$res->get('pagetitle').'';
}

Я получил нужные pagetitle, но не могу понять как их применить для создания новых категорий.
Заранее спасибо.
Aleksandr Suslov
15 февраля 2017, 19:07
533
-1

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

Гриборий
16 февраля 2017, 01:10
+1
У Ильи доступно про xPDO написано. Изучите, а то так и будете каджый час вопросы писать.
    Aleksandr Suslov
    16 февраля 2017, 09:59
    0
    Я почитал. Сделал выборку количества ресурсов, через цикл создал нужное количество. Но никак не могу понять как мне дать названия категориям. У меня он выводит списком, а как разбить я не нашел нигде инфы.
      Гриборий
      16 февраля 2017, 10:24
      0
      Не понятно, сформулируйте четче, что нужно? Хотите создать просто ресурсы или речь о категориях minishop2?
      Гриборий
      16 февраля 2017, 10:33
      0
      Я почитал
      Методом скорочтения? Создание и удаление объектов.
        Aleksandr Suslov
        16 февраля 2017, 11:40
        0
        Есть категория «товары»: в ней 3 дочерних: тапки, шляпы, шубы.
        Есть отдельная категория продавцы. При подтверждении зарегистрировавшегося пользователя через сниппет создается категория «user-sasha» и дочерние ресурсы (количество дочерних категорий «user-shasha» равно количеству дочерних категорий «товары»). Через getCollection я получаю список названий дочерних категорий «товары», но не могу назвать так-же дочерние категории «user-shasha».

        Все дочерние ресурсы — категории minishop2.

          Гриборий
          16 февраля 2017, 12:49
          0
          $data = array(
              'pagetitle' => 'Название категории',
              'parent' => '123',
              // и тд
              );
          $new_category = $modx->newObject('msCategory', $data);
          $new_category->save();
            Гриборий
            16 февраля 2017, 13:10
            0
            Это внутри разбора полученной коллекции на ресурсы. То есть, в вашем случае
            foreach ($resources as $res) {
                $data = array(
                   'pagetitle' => $res->get('pagetitle'),
                    ...
            Гриборий
            16 февраля 2017, 13:19
            0
            А, вообще, по-хорошему, ресурсы надо через процессор создавать.
            $modx->runProcessor('resource/create', $data);
            Только в этом случае не забудьте в массиве $data указать 'classKey' => 'msCategory'.
              Aleksandr Suslov
              16 февраля 2017, 13:23
              0
              Огромное вам спасибо.