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

GetList

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

CDBResult
CCourse::GetList(
	array arOrder = array(),
	array arFields = array(),
	array arNavParams = array()
);

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

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

ПараметрОписаниеС версииДо версии
arOrder Массив для сортировки результата. Массив вида array("поле сортировки"=>"направление сортировки" [, ...]).
Поле для сортировки может принимать значения:
  • ID - идентификатор курса;
  • NAME - название курса;
  • ACTIVE - активность курса;
  • SORT - индекс сортировки;
  • TIMESTAMP_X - дата изменения курса.
Направление сортировки может принимать значения:
  • asc - по возрастанию;
  • desc - по убыванию;
arFields Фильтр данных. Значения полей см. в arFilter ниже.12.0.0
arNavParams Массив настроек постраничной навигации.14.0.0
arFilter Массив вида array("фильтруемое поле"=>"значение фильтра" [, ...]). Фильтруемое поле может принимать значения:
  • ID - идентификатор курса;
  • NAME - название курса (можно искать по шаблону [%_]);
  • SORT - индекс сортировки;
  • CODE - символьное имя курса (можно искать по шаблону [%_]);
  • DESCRIPTION - описание курса (можно искать по шаблону [%_]);
  • ACTIVE - фильтр по активности (Y|N);
  • SITE_ID - идентификатор сайта;
  • TIMESTAMP_X - дата изменения курса;
  • ACTIVE_FROM - дата начала активности с учётом пустого значения;
  • ACTIVE_TO - дата окончания активности с учётом пустого значения;
  • DATE_ACTIVE_FROM - дата начала активности без учета пустого значения;
  • DATE_ACTIVE_TO - дата окончания активности без учета пустого значения;
  • ACTIVE_DATE - непустое значение задействует фильтр по датам активности (ACTIVE_FROM и ACTIVE_TO). Если значение не установлено (""), фильтрация по датам активности не производится;
  • MIN_PERMISSION - минимальный уровень доcтупа. По умолчанию "R". Список прав доступа см. в CCourse::SetPermission.
  • CHECK_PERMISSIONS - проверять уровень доступа. Если установлено значение "N" - права доступа не проверяются;
  • CNT_ACTIVE - считать количество только активных уроков. Работает, если bIncCnt установлено в значение true.
Перед названием фильтруемого поля можно указать тип фильтрации:
  • "!" - не равно
  • "<" - меньше
  • "<=" - меньше либо равно
  • ">" - больше
  • ">=" - больше либо равно

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

Необязательный. По умолчанию записи не фильтруются.
12.0.0
bIncCnt Возвращать ли количество уроков курса в поле ELEMENT_CNT. Необязательный параметр, по умолчанию равен false.12.0.0

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

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

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

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

lt;?
if (CModule::IncludeModule("learning"))
{
	$res = CCourse::GetList(
		Array("SORT"=>"ASC"), 
		Array("ACTIVE" => "Y", "CNT_ACTIVE" => "Y"), 
		$bIncCnt = true
	);

	while ($arCourse = $res->GetNext())
	{
		echo "Course name: ".$arCourse["NAME"]."<br>";
		echo "Active lessons: ".$arCourse["ELEMENT_CNT"]."<br><br>";
	}
}

?>
<?

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

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

if (CModule::IncludeModule("learning"))
{
	$res = CCourse::GetList(
		Array("NAME" => "ASC", "SORT"=>"ASC"), 
		Array("CHECK_PERMISSIONS" => "N")
	);

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

?>
<?
if(CModule::IncludeModule("learning")):

	$res = CCourse::GetList(Array("SORT" => "DESC"), Array("ACTIVE" => "Y", "ACTIVE_DATE" => "Y", "SITE_ID" => LANG));

	while ($arElement = $res->GetNext()):?>

		<font class="text">
		<?if ($arElement["PREVIEW_PICTURE"]):?>
			<table cellpadding="0" cellspacing="0" border="0" align="left">

				<tr>
					<td><?echo ShowImage($arElement["PREVIEW_PICTURE"], 200, 200, "hspace='0' vspace='2' align='left' border='0'", "", true);?></td>
					<td valign="top" width="0%"><img src="/bitrix/images/1.gif" width="10" height="1"></td>

				</tr>
			</table>
		<?endif;?>
		<a target="blank_" href="<?=$COURSE_URL?>?COURSE_ID=<?=$arElement["ID"]?>"><?=$arElement["NAME"]?></a>

		<?=(strlen($arElement["PREVIEW_TEXT"])>0 ? "<br>".$arElement["PREVIEW_TEXT"]: "")?>
		</font><br clear="all"><br>

	<?endwhile?>
<?endif?>
?>


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

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

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

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

Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
1
Дмитрий Соцков
Сообщение не промодерировано, возможны ошибки и неточности.
Среди 'Параметры метода' второй указан arFields и в методе:
CDBResult CCourse::GetList(array arOrder = array(),  array arFields = array(),  array arNavParams = array() );

в примерах видно, что передают вторым параметром $arFilter и в коде компонента learning.chapter.detail явно видно, что второй параметр $arFilter

Это ошибка документации чтобы получить курс по ID с пользовательским полем я использовал:


$arCourse = CCourse::GetList(
   ["SORT"=>"ASC"],
   ['ID' => (int)$arResult["COURSE"]["COURSE_ID"], "ACTIVE" => "Y"],
   false,
   ["ID", "NAME", "UF_HIDE_TEST_LINK"]
)->fetch();

var_dump($arCourse);

Но UF_HIDE_TEST_LINK не пришло и UF_* тоже не помогло

документация по этому методу сырая так же как и в целом API этого модуля
© «Битрикс», 2001-2024, «1С-Битрикс», 2024
Наверх