Обнаружился глючек при переносе статьи из раздела в раздел в функции moveArticlesToCat. У переносимой статьи не обновлялось seolink. Вот исправленная версия:
public function moveArticlesToCat($articles, $to_cat_id) { foreach($articles as $article_id) { $article = $this->getArticle($article_id); $article['category_id'] = $to_cat_id; $this->updateArticle($article_id, $article); } return true; }
Реклама #
RIM5 11 лет назад #
А я вот думаю, как сделать так, чтобы URL - оставался всегда одним и тем же в следующих случаях:
1. При изменении названия статьи (из админки и из фронта)
2. При изменении категории (при переносе и последующих редактированиях на фронте).
Объясню, почему это нужно (по-крайней мере мне) - в индексе более 100 000 страниц, ежедневно правятся на сайте более 200 произведений (меняется название или категория). Что в итоге происходит? Страницы, которые были в индексе - переходят в ошибки, ведь по данному адресу уже нет статьи - у статьи другой URL (и когда её вновь проиндексируют - неизвестно).
В общем, хотелось бы таким образом уменьшить число ошибочных страниц в индексе.
vicoder 11 лет назад #
RIM5 11 лет назад #
prosis 11 лет назад #
Suslik 11 лет назад #
Dorimen 11 лет назад #
wportal 11 лет назад #
vicoder 11 лет назад #
Dorimen 11 лет назад #
public function moveArticlesToCat($articles, $to_cat_id) {
$ids = rtrim(implode(',', $articles), ',');
$this->inDB->query("UPDATE cms_content SET category_id = {$to_cat_id} WHERE id IN ({$ids})");
return true;
нужно заменить на Ваше
public function moveArticlesToCat($articles, $to_cat_id) {
foreach($articles as $article_id) {
$article = $this->getArticle($article_id);
$article['category_id'] = $to_cat_id;
$this->updateArticle($article_id, $article);
}
return true;
}
vicoder 11 лет назад #