Обнуление количества проголосовавших (работа с заблокированными в панели администрирования полями)
Материал из Umicms
Версия от 10:07, 5 июня 2013; Mad grant (обсуждение | вклад)
Актуально для версии 2.9
У многих типов данных есть поля, которые нельзя отредактировать через панель администрирования. Для работы с этими полями нужно использовать средства API UMI.CMS. Рассмотрим это на примере обнуления количества проголосовавших (тип данных "Пост блога"). Используем для обнуления следующий код:
public function setRatesInZero($pageid){
$hierarchy = umiHierarchy::getInstance();
$page = $hierarchy->getElement($pageid);
if (!$page instanceof umiHierarchyElement) {
throw new publicException(getLabel('error-page-does-not-exist'));
}
$page->setValue('rate_voters',0);
$page->setValue('rate_sum',0);
$page->commit();
}
Макрос принимает в качестве параметра id страницы, для которой нужно обнулить показатели rate_voters и rate_sum. Если выполнить макрос, то указанные поля примут значение "0".