Как поменять тип ресурса у всех ресурсов внутри каталога?
Вышло что в некоторые каталоги попали товары с типом ресурса — Документ, а для манипуляций с ними необходим тип msProduct
Искал, но нигде не смог найти как менять тип ресурса с помощью сниппета или вообще каким либо методом
Подскажите пожалуйста реализуемо ли это и если да то как?
Искал, но нигде не смог найти как менять тип ресурса с помощью сниппета или вообще каким либо методом
Подскажите пожалуйста реализуемо ли это и если да то как?
Комментарии: 5
Поставьте компонент Console и сделайте выборку и меняйте всё что нужно
Вот мой код, которым я пытался прописать всем дочерним элементам тип ресурса msProduct
Но он просто заканчивается сразу же.
Не могу найти где прошляпился
$array_ids = $modx->getChildIds(12);
foreach($array_ids as $id){
$product = $modx->getObject('modResource', $id);
$product->set('class_key', 'msProduct');
$product->save();
}
Где 12 — id родителяНо он просто заканчивается сразу же.
Не могу найти где прошляпился
$child = $modx->getChildIds(12, 10, array('context' => 'web'));
$q = $modx->newQuery('modResource');
$q->where(array(
'id:IN' => $child,
'published' => true,
'deleted' => false,
'searchable' => true,
));
$products = $modx->getIterator('modResource', $q);
foreach ($products as $k => $product) {
$product->set('class_key', 'msProduct');
$product->save();
}
Получилось!
Долго ломал голову и вы сильно мне помогли, большое спасибо за помощь =)
Долго ломал голову и вы сильно мне помогли, большое спасибо за помощь =)
Не могу найти где прошляпилсяЕсли не можете найти то где вы прошляпились, то это значит, что вы не там ищете, дебажте. Ошибка у вас скорее всего была в том, что метод getChildIds ищет в текущем контексте, а раз вы запускали его в mgr, то и он искал ресурсы в контексте mgr и конечно же не находил, об это пишется в документации
Note that when using this method in the manager (to collect input options for a TV for example), you need to define the context with the third options parameter as it defaults to the current context (in that scenario the manager).
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.