Вывод значения поля для случайной страницы

Материал из Umicms
Версия от 23:32, 28 апреля 2010; VITL' (обсуждение | вклад) (Новая страница: «category:Написание кастомных макросов Если необходимо вывести фотографию случайно выбранн…»)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к:навигация, поиск

Если необходимо вывести фотографию случайно выбранного объекта каталога, то для этого можно воспользоваться кастомным макросом, в котором относительно раздела каталога будет определен случайный id объекта каталога (может быть и другого типа страница) и потом поставлен вызов макроса data getProperty. В макрос getProperty передадим такие параметры как id полученного объекта каталога и идентификатор поля с изображением. Кастомный макрос пропишем в ~classes/modules/custom.php

public function rand($parentId) {
   if(!$hierarchy = umiHierarchy::getInstance()->getChilds($parentId,false,true,1)) return;
   $rand_value = array_rand($hierarchy);
   return "%data getProperty({$rand_value},'photo')%";                                                                                
}

Пример вызова:

%custom rang(46)%

46 – id раздела каталога, в котором находятся объекты каталога.