Как пересохранить ресурсы через Console
Добрый день!
Помогите, пожалуйста, в написании кода для выполнения через Console, так как сам плохо разбираюсь в php.
Есть раздел Tickets, в котором несколько сотен тикетов. У каждого тикета не сформирован alias (не спрашивайте, почему так получилось). Чтобы сформировать чпу alias, приходится каждый тикет сохранять вручную, что занимает длительное время.
Есть ли способ это автоматизировать?
Пробовал сделать так:
Помогите дописать пару строк, чтобы автоматически формировались alias.
Спасибо!
Помогите, пожалуйста, в написании кода для выполнения через Console, так как сам плохо разбираюсь в php.
Есть раздел Tickets, в котором несколько сотен тикетов. У каждого тикета не сформирован alias (не спрашивайте, почему так получилось). Чтобы сформировать чпу alias, приходится каждый тикет сохранять вручную, что занимает длительное время.
Есть ли способ это автоматизировать?
Пробовал сделать так:
<?php
if(!$docs = $modx->getCollection('Ticket', array(
'parent' => 1212
))){return;}
foreach($docs as $doc){
$content = $doc->get('content');
$doc->save();
}
но ничего не получилось.Помогите дописать пару строк, чтобы автоматически формировались alias.
Спасибо!
Комментарии: 5
Попробуй так:
<?php
$pages = $modx->getIterator('modResource', ['parent:IN' => [1212]]);
foreach ($pages as $p) {
$title = $p->get('pagetitle');
$alias = $p->get('alias');
$alias = $p->cleanAlias($title);
$p->set('alias', $alias);
$p->save();
}
Все получилось!
ООООгромнейшее СПАСИБО!
ООООгромнейшее СПАСИБО!
А это будет работать на 9000 ресурсах?
По идее должно) пробовал на ~5000-7000, всё работало.
ок. спасибо!
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.