Обнуление количества проголосовавших (работа с заблокированными в панели администрирования полями)
Материал из Umicms
Версия от 12:39, 22 апреля 2012; Davidov (обсуждение | вклад) (Новая страница: «У многих типов данных есть поля, которые нельзя отредактировать через панель администрир…»)
У многих типов данных есть поля, которые нельзя отредактировать через панель администрирования. Для работы с этими полями нужно использовать средства 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".