Получение списка адресов из модуля обратная связь с помощью API
Материал из Umicms
Версия от 10:53, 18 марта 2014; Alexei (обсуждение | вклад) (Новая страница: «'''Актуально для версии 2.9.5''' Может возникнуть задача получить список адресов из модуля об…»)
Актуально для версии 2.9.5
Может возникнуть задача получить список адресов из модуля обратная связь со всеми сопутствующими полями (название, описание) с помощью API. Для решения данной задачи воспользуемся кастомным макросом. В директории /classes/modules/webforms/ в файл __custom.php необходимо добавить следующий код:
public function getAddressesInfo() {
$sel = new selector('objects');
$sel->types('object-type')->name('webforms', 'address');
$result = $sel->result();
$lines = Array();
$line = Array();
$typesCollection = umiObjectsCollection::getInstance();
foreach ($result as $oObject) {
$line['attribute:id'] = $oObject->getId();
$line['attribute:description'] = $typesCollection->getObject($line['attribute:id'])->getValue('address_description');
$line['node:email'] = $typesCollection->getObject($line['attribute:id'])->getValue('address_list');
$line['attribute:name'] = $oObject->getName();
$lines[] = $line;
}
$udata['items']['nodes:item'] = $lines;
return $udata;
}