Введение
Ниже — выжимка по классам модуля vote, которых нет в удобном виде в документации: выборка опросов и каналов (групп опросов).
CVote::GetList
Сигнатура: CVote::GetList(&$by, &$order, $arFilter, &$is_filtered). Сортировка: например s_id, s_title, s_date_start, s_channel и др.; направление asc/desc.
Основные ключи фильтра: ID, ACTIVE, интервалы DATE_START_1 / DATE_START_2, DATE_END_*, LAMP, CHANNEL, CHANNEL_ID, TITLE, COUNTER_1/COUNTER_2; для каждого текстового поля обычно есть _EXACT_MATCH.
if(CModule::IncludeModule("vote")) {
$rsVote = CVote::GetList($by="s_id", $order="desc",
array("CHANNEL_ID"=>"(1|2)","ACTIVE"=>"Y"));
while($arVote = $rsVote->GetNext()) {
echo "<pre>"; print_r($arVote); echo "</pre>";
}
}
Есть методы CVote::GetByID и CVote::GetByIDEx — второй использует кеширование результата.
CVoteChannel::GetList
Сортировка: s_id, s_timestamp, s_symbolic_name и др. Фильтр включает ACTIVE, SITE_ID, SID, TITLE, HIDDEN и точные совпадения.
if(CModule::IncludeModule("vote")) {
$rsVoteChannel = CVoteChannel::GetList($by="s_id", $order="desc", array("ACTIVE"=>"Y"));
while($arVoteChannel = $rsVoteChannel->Fetch()) {
echo "<pre>"; print_r($arVoteChannel); echo "</pre>";
}
}
Для одиночной группы: CVoteChannel::GetByID($ID).
Источник: перенос с блога g·rain·design.
Не хотите копаться сами?
Починю за 1-3 дня. Без предоплаты — оплата по результату.
15+ лет опыта с 1С-Битрикс · Без предоплаты · 7 дней гарантии