Массовое удаление комментариев — различия между версиями

Материал из Umicms
Перейти к:навигация, поиск
(Новая страница: «'''Актуально для версии 2.9.6''' Можем возникнуть ситуация, когда на сайте не была включена captc…»)
 
Строка 29: Строка 29:
  
 
мы передаем количество комментариев, которое будет удалено за один раз. Если количество комментариев, необходимое для удаления, велико, то при указании большего числа сайт может перестать функционировать на время. Данное число необходимо подбирать опытным путем, чтобы удалялось максимально возможное количество комментариев за раз, и при этом сайт продолжал корректно функционировать.
 
мы передаем количество комментариев, которое будет удалено за один раз. Если количество комментариев, необходимое для удаления, велико, то при указании большего числа сайт может перестать функционировать на время. Данное число необходимо подбирать опытным путем, чтобы удалялось максимально возможное количество комментариев за раз, и при этом сайт продолжал корректно функционировать.
 +
 +
Для запуска макроса нужно в адресной строке браузера написать
 +
<b>domain.ru/udata/custom/deleteComments</b>,
 +
где <b>domain.ru</b> - это адрес вашего сайта
  
 
[[Категория:Вопросы и уроки разработки сайтов на UMI.CMS]][[Категория:Написание кастомных макросов]]
 
[[Категория:Вопросы и уроки разработки сайтов на UMI.CMS]][[Категория:Написание кастомных макросов]]

Версия 08:54, 8 февраля 2016

Актуально для версии 2.9.6

Можем возникнуть ситуация, когда на сайте не была включена captcha, и было оставлено большое количество спам-комментариев. Удалять их по-одному из административной панели будет очень долго, вместо этого для удаления мы будем использовать следующий код:

public function deleteComments() {
			
    $amount = 100;
    $pages = new selector('objects');	
    $pages->types('object-type')->id(66);
    $pages->limit(0, $amount);
    $ObjectsCollection = umiObjectsCollection::getInstance();

    foreach($pages as $page)
        $ObjectsCollection->delObject($page->getId());
}

Разместите данный код в файле classes/modules/custom.php после строки //TODO: Write your own macroses here. В строке

$pages->types('object-type')->id(66);

мы задаем id типа данных "Комментарии", если у Вас id типа данных "Комментарии" другой - тогда подставьте соответствующее значение.

В переменную

$amount = 100;

мы передаем количество комментариев, которое будет удалено за один раз. Если количество комментариев, необходимое для удаления, велико, то при указании большего числа сайт может перестать функционировать на время. Данное число необходимо подбирать опытным путем, чтобы удалялось максимально возможное количество комментариев за раз, и при этом сайт продолжал корректно функционировать.

Для запуска макроса нужно в адресной строке браузера написать domain.ru/udata/custom/deleteComments, где domain.ru - это адрес вашего сайта