Как использовать выборку 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
modx.pro
2 889
-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
                  Огромное вам спасибо.
        Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
        9