Документация для разработчиков

GetList

CDBResult
CLQuestion::GetList(
 array arOrder = Array("TIMESTAMP_X"=>"DESC"),
 array arFilter = Array()
);

Возвращает список вопросов по фильтру arFilter, отсортированный в порядке arOrder. Метод нестатический.

Параметры метода

ПараметрОписание
arOrder Массив для сортировки результата. Массив вида array("поле сортировки"=>"направление сортировки" [, ...]).
Поле для сортировки может принимать значения:
  • ID - идентификатор вопроса;
  • NAME - название вопроса;
  • ACTIVE - активность вопроса;
  • SORT - индекс сортировки;
  • SELF - вопрос для самопроверки;
  • POINT - баллы;
  • TYPE - тип вопроса;
  • TIMESTAMP_X - дата изменения вопроса.
Направление сортировки может принимать значения:
  • asc - по возрастанию;
  • desc - по убыванию;
Необязательный. По умолчанию сортируется по убыванию даты изменения вопроса.
arFilter Массив вида array("фильтруемое поле"=>"значение фильтра" [, ...]). Фильтруемое поле может принимать значения:
  • ID - идентификатор вопроса;
  • NAME - название вопроса (можно искать по шаблону [%_]);
  • SORT - индекс сортировки;
  • ACTIVE - фильтр по активности (Y|N);
  • LESSON_ID - идентификатор урока;
  • POINT - баллы;
  • COURSE_ID - идентификатор курса;
  • QUESTION_TYPE - тип вопроса (S - одиночный выбор, M - множественный выбор);
  • SELF - вопрос для самопроверки (Y|N).
Перед названием фильтруемого поля может указать тип фильтрации:
  • "!" - не равно
  • "<" - меньше
  • "<=" - меньше либо равно
  • ">" - больше
  • ">=" - больше либо равно

"значения фильтра" - одиночное значение или массив.

Необязательный. По умолчанию записи не фильтруются.

Возвращаемое значение

Возвращается объект CDBResult.

См. также

Примеры использования

<?

if (CModule::IncludeModule("learning"))
{
    $LESSON_ID = 426;

    $res = CLQuestion::GetList(
        Array("TIMESTAMP_X" => "ASC", "SORT"=>"ASC"), 
        Array("LESSON_ID" => $LESSON_ID)
    );

    while ($arQuestion = $res->GetNext())
    {
        echo "Question name: ".$arQuestion["NAME"]."<br>";
    }
}

?>
<?
if (CModule::IncludeModule("learning"))
{
    $COURSE_ID = 97;
    $res = CLQuestion::GetList(
        Array("SORT"=>"ASC"), 
        Array("ACTIVE" => "Y", "COURSE_ID" => $COURSE_ID)
    );

    while ($arQuestion = $res->GetNext())
    {
        echo "Question name: ".$arQuestion["NAME"]."<br>";
    }
}

?>
<?

if (CModule::IncludeModule("learning"))
{
    $res = CLQuestion::GetList(
        Array("SORT"=>"ASC"), 
        Array("?NAME" => "Site")
    );

    while ($arQuestion = $res->GetNext())
    {
        echo "Question name: ".$arQuestion["NAME"]."<br>";
    }
}
?>
<?

if (CModule::IncludeModule("learning"))
{
    $COURSE_ID = 97;

    $res = CLQuestion::GetList(
        Array("NAME" => "ASC", "SORT"=>"ASC"), 
        Array("COURSE_ID" => $COURSE_ID, "!SELF" => "Y")
    );

    while ($arQuestion = $res->GetNext())
    {
        echo "Question name: ".$arQuestion["NAME"]."<br>";
    }
}

?>


Пользовательские комментарии

Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.

Для этого нужно всего лишь авторизоваться на сайте

Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.

Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
0
Борис Хмелёв
Если понадобится отобрать так же пользовательские поля, то код вида:


Код
<?
if (CModule::IncludeModule("learning"))
{
$rsQuestion = CLQuestion::GetList(
        Array("SORT"=>"ASC"), //Задаем массив arOrder
        Array("LESSON_ID" => "АЙ ДИ УРОКА","ID"=>"АЙ ДИ ВОПРОСА","ACTIVE"=>"Y"),//Задаем массив arFilter
        false, // $bHz = false - смотрим в исходник метода
        array(), // $arNavParams = array() - параметры навигации
        Array("UF_ANSWER_FILE") // массив $arSelect который не описан. Работает как и во всех других методах GetList для примера смотрим GetList из инфоблоков. В данном случае указано пользовательское поле с кодом UF_ANSWER_FILE
        );

if ($arQuestion = $rsQuestion->Fetch())
{
$vat = $rsQuestion["UF_ANSWER_FILE"]; //доступ к пользовательской переменной
}
}
?>
 
© «Битрикс», 2001-2020, «1С-Битрикс», 2020
Наверх