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

GetList

Описание и параметры

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

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

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

ПараметрОписание
arOrder Массив для сортировки результата. Массив вида array("поле сортировки"=>"направление сортировки" [, ...]).
Поле для сортировки может принимать значения:
  • ID - идентификатор теста;
  • SORT - индекс сортировки;
  • NAME - название теста;
  • SORT - индекс сортировки;
  • TIMESTAMP_X - даты изменения теста;
Направление сортировки может принимать значения:
  • asc - по возрастанию;
  • desc - по убыванию;
Необязательный. По умолчанию сортируется по убыванию даты изменения теста.
arFilter Массив вида array("фильтруемое поле"=>"значение фильтра" [, ...]). Фильтруемое поле может принимать значения:
  • ID - идентификатор теста;
  • SORT - индекс сортировки;
  • COURSE_ID - идентификатор курса;
  • ATTEMPT_LIMIT - количество попыток;
  • TIME_LIMIT - ограничение времени прохождения теста (в минутах);
  • NAME - название теста (можно искать по шаблону [%_]);
  • DESCRIPTION - описание теста (можно искать по шаблону [%_]);
  • ACTIVE - фильтр по активности (Y|N);
  • APPROVED - автоматическая проверка результатов (Y|N);
  • INCLUDE_SELF_TEST - включать вопросы для самопроверки (Y|N);
  • RANDOM_QUESTIONS - случайный порядок вопросов (Y|N);
  • RANDOM_ANSWERS - случайный порядок ответов (Y|N);
  • QUESTIONS_FROM - в тесте участвуют вопросы (A - со всего курса, C - с каждой главы, L - с каждого урока, S - все вопросы с урока);
  • QUESTIONS_FROM_ID - в тесте участвуют вопросы из конкретного урока;
  • PASSAGE_TYPE - Тип прохождения теста. 0 - запретить переход к следующему вопросу без ответа на текущий вопрос, пользователь не может изменять свои ответы; 1 - разрешить переход к следующему вопросу без ответа на текущий вопрос, пользователь не может изменять свои ответы; 3 - разрешить переход к следующему вопросу без ответа на текущий вопрос, пользователь может изменять свои ответы.
  • MIN_PERMISSION - минимальный уровень доcтупа. По умолчанию "R". Список прав доступа см. в CCourse::SetPermission.
  • CHECK_PERMISSIONS - проверять уровень доступа. Если установлено значение "N" - права доступа не проверяются.
Перед названием фильтруемого поля может указать тип фильтрации:
  • "!" - не равно
  • "<" - меньше
  • "<=" - меньше либо равно
  • ">" - больше
  • ">=" - больше либо равно

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

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

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

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

Смотрите также

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

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

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

?>
<?

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

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

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

	$res = CTest::GetList(
		Array("NAME" => "ASC", "SORT"=>"ASC"), 
		Array("COURSE_ID" => $COURSE_ID, "APPROVED" => "Y")
	);

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

?>
<?

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

	$res = CTest::GetList(
		Array("TIMESTAMP_X" => "ASC", "SORT"=>"ASC"), 
		Array("CHECK_PERMISSIONS" => "N", "COURSE_ID" => $COURSE_ID)
	);

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

?>


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

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

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

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

Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
© «Битрикс», 2001-2024, «1С-Битрикс», 2024
Наверх