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

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