Как использовать выборку 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, но не могу понять как их применить для создания новых категорий.
Заранее спасибо.
Как на основе вывода 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, но не могу понять как их применить для создания новых категорий.
Заранее спасибо.
Комментарии: 9
У Ильи доступно про xPDO написано. Изучите, а то так и будете каджый час вопросы писать.
Я почитал. Сделал выборку количества ресурсов, через цикл создал нужное количество. Но никак не могу понять как мне дать названия категориям. У меня он выводит списком, а как разбить я не нашел нигде инфы.
Не понятно, сформулируйте четче, что нужно? Хотите создать просто ресурсы или речь о категориях minishop2?
Есть категория «товары»: в ней 3 дочерних: тапки, шляпы, шубы.
Есть отдельная категория продавцы. При подтверждении зарегистрировавшегося пользователя через сниппет создается категория «user-sasha» и дочерние ресурсы (количество дочерних категорий «user-shasha» равно количеству дочерних категорий «товары»). Через getCollection я получаю список названий дочерних категорий «товары», но не могу назвать так-же дочерние категории «user-shasha».
Все дочерние ресурсы — категории minishop2.
Есть отдельная категория продавцы. При подтверждении зарегистрировавшегося пользователя через сниппет создается категория «user-sasha» и дочерние ресурсы (количество дочерних категорий «user-shasha» равно количеству дочерних категорий «товары»). Через getCollection я получаю список названий дочерних категорий «товары», но не могу назвать так-же дочерние категории «user-shasha».
Все дочерние ресурсы — категории minishop2.
$data = array(
'pagetitle' => 'Название категории',
'parent' => '123',
// и тд
);
$new_category = $modx->newObject('msCategory', $data);
$new_category->save();
Это внутри разбора полученной коллекции на ресурсы. То есть, в вашем случае
foreach ($resources as $res) {
$data = array(
'pagetitle' => $res->get('pagetitle'),
...
А, вообще, по-хорошему, ресурсы надо через процессор создавать.
$modx->runProcessor('resource/create', $data);
Только в этом случае не забудьте в массиве $data указать 'classKey' => 'msCategory'.
Огромное вам спасибо.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.