Обновить все url у товаров
Пытаюсь обновить все ссылки у товаров вот таким способом
$docs = $modx->getCollection('msProduct');
foreach($docs as $doc){
$title = $doc->get('pagetitle') . '-' . $doc->get('id');
$alias = $doc->cleanAlias($title);
$doc->set('alias', $alias);
$modx->runProcessor('resource/update', $doc->toArray());
// $doc->set('alias', '');
// $doc->save();
}сначала удалил все // $doc->set('alias', '');
// $doc->save();потом запустил данный код и очень долго идет процесс обновления если прописать $modx->getCollection('msProduct',array('parent'=>3404));то он обновит ссылки у нужной категории и выдает кучу таких ошибок[2016-07-27 10:15:02] (ERROR @ /home/s/spbsiayx/spbsiayx.bget.ru/public_html/core/model/modx/modcachemanager.class.php: 100)
Resource URI kategoriya-s-tovarami/semena-czvetov/balzamin-uollera-f1.html already exists for resource id = 3530; skipping duplicate resource URI for resource id = 5273
[2016-07-27 10:15:02] (ERROR @ /home/s/spbsiayx/spbsiayx.bget.ru/public_html/core/model/modx/modcachemanager.class.php: 100)
Resource URI kategoriya-s-tovarami/parniki-i-ukryivnyie-materialyi/.html already exists for resource id = 5156; skipping duplicate resource URI for resource id = 5495
[2016-07-27 10:15:02] (ERROR @ /home/s/spbsiayx/spbsiayx.bget.ru/public_html/core/model/modx/modcachemanager.class.php: 100)
Resource URI kategoriya-s-tovarami/parniki-i-ukryivnyie-materialyi/.html already exists for resource id = 5156; skipping duplicate resource URI for resource id = 5635
[2016-07-27 10:15:02] (ERROR @ /home/s/spbsiayx/spbsiayx.bget.ru/public_html/core/model/modx/modcachemanager.class.php: 100)
Resource URI kategoriya-s-tovarami/parniki-i-ukryivnyie-materialyi/.html already exists for resource id = 5156; skipping duplicate resource URI for resource id = 6421
[2016-07-27 10:15:02] (ERROR @ /home/s/spbsiayx/spbsiayx.bget.ru/public_html/core/model/modx/modcachemanager.class.php: 100)
Resource URI kategoriya-s-tovarami/semena-czvetov/odnoletnie/.html already exists for resource id = 3964; skipping duplicate resource URI for resource id = 4752
[2016-07-27 10:15:02] (ERROR @ /home/s/spbsiayx/spbsiayx.bget.ru/public_html/core/model/modx/modcachemanager.class.php: 100)
Resource URI kategoriya-s-tovarami/semena-czvetov/odnoletnie/.html already exists for resource id = 3964; skipping duplicate resource URI for resource id = 5646
я посмотрел по id эти товары не находятся в данной категории, но почему то выдает ошибку по ним.
Как избавится от ошибок и обновить ссылку у всех товаров?
Комментарии: 14
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
Resource URI kategoriya-s-tovarami/semena-czvetov/odnoletnie/.html ты присваиваешь кривой алиас, из-за этого он у тебя и дублируется. И вместо getCollection — Для экономии памяти. А для ускорения работы можно поиграться с Если будут проблемы с выборкой(CRC) modxclub.ru/topics/xpdoaddderivativecriteria-class-key-crc-i-prochie-svyazannyie-drug-s-drugom-tonkosti.htmlmodx.pro/help/2415/
modx.pro/help/5862/
вот эти темы говорят что надо через процессор и работает если указываю небольшую категорию где мало товаров, а все товары никак не могу обновить не знаю в чем дело в ошибки или в чем (
prntscr.com/by2iij
не могу понять я работаю только с одним товаром с айдишником 6630 дальше идет break; почему ошибки выдаются по товарам с другим айдишником?
походе вы были правы можно и без процессора, почему у меня раньше так не получилось не могу понять, скрипт начал выполняться подожду результата
prntscr.com/by2mse
вылечил удалив недавнюю историю браузера, но это не здоровая штука ((