GetList
Описание и параметры
CDBResult CBlogPost::GetList( array arOrder = Array("ID"=>"DESC"), array arFilter = Array(), bool arGroupBy = false, bool arNavStartParams = false, array arSelectFields = Array() );
Возвращает список сообщений по фильтру arFilter, отсортированный в порядке arOrder. Метод нестатический.
Примечание: фильтрация по ID категорий делается так: CATEGORY_ID_F. В результате ID категорий будут выведены через запятую.
Параметры метода
Параметр | Описание |
---|---|
arOrder |
Массив для сортировки результата. Массив вида array("поле сортировки"=>"направление сортировки" [, ...])
Поле для сортировки может принимать значения:
|
arFilter |
Массив вида array("фильтруемое поле"=>"значение фильтра" [, ...]).
Фильтруемое поле может принимать значения:
"значения фильтра" - одиночное значение или массив. Необязательный. По умолчанию записи не фильтруются. |
arGroupBy | Массив полей, по которым группируются записи. Массив имеет вид:
array( "название_поля1", "группирующая_функция2" => "название_поля2", ... )В качестве "название_поляN" может стоять любое поле. В качестве группирующей функции могут стоять:
Необязательный. По умолчанию - false - означает, что результат группироваться не будет. |
arNavStartParams | Массив параметров выборки. Может содержать следующие ключи:
|
arSelectFields | Массив полей записей, которые будут возвращены методом. Можно указать только те поля, которые необходимы. Если в массиве присутствует значение "*", то будут возвращены все доступные поля. Необязательный. По умолчанию - пустой массив array() - означает, что будут возвращены все поля основной таблицы запроса. |
Примечание: в компонент blog.blog невозможно передать фильтрацию по опубликованности. Для этого необходимо скопировать стандартный компонент в своё пространство имён и вручную дописать проверку на опубликованность.
Возвращаемое значение
Возвращается объект CDBResult.Смотрите также
Примеры использования
<? // выберем все опубликованные сообщения всех блогов за апрель 2007 года // у которых больше двух комментариев $SORT = Array("DATE_PUBLISH" => "DESC", "NAME" => "ASC"); $arFilter = Array( "PUBLISH_STATUS" => BLOG_PUBLISH_STATUS_PUBLISH, "DATE_PUBLISH_MONTH" => '04', "DATE_PUBLISH_YEAR" => '2007', ">NUM_COMMENTS" => 2 ); $dbPosts = CBlogPost::GetList( $SORT, $arFilter ); while ($arPost = $dbPosts->Fetch()) { print_r($arPost); } ?>
// выборка всех сообщений блога с заголовком, включающим слово "фильм" $arFilter = Array ( "~TITLE" => "%фильм%" );
Александр Андрианов
|
||
Для успешной фильтрации сообщений (добавленных через апи CBlogPost::Add($arFields))
по полю CATEGORY_ID_F, необходимо добавить категорию CBlogPostCategory::Add(Array("BLOG_ID" => 1, "POST_ID" => $newID, "CATEGORY_ID"=>2));
| ||
Пётр Громов
|
||
Также, если добавить в вызов стандартного компонента bitrix:blog.blog дополнительные входные параметры, то можно отсортировать значения по нужному нам признаку.
Вот, например, сортировка по условию "сначала все, отмеченные галочкой "выводить в топ", затем по дате публикации"
| ||
Александр Пятницин
|
||||
Посту блога можно задать пользовательское свойство вручную, указав в качестве объекта "BLOG_POST".
Так же по этому полю будет доступно фильтрация.
Так можно реализовать, к примеру, свойство "показывать на главной", и выводить записи пользователей, которые одобрил модератор. Свойство можно менять стандартным способом через CBlogPost::Update():
| ||||
Денис Клоков
|
||
Кол-во просмотров поста храниться в "VIEWS", пример:
| ||
Mikhail Kryachek
|
||
Если необходима фильтрация по like, то необходимо формировать фильтра вида:
Результатом будет выборка всех сообщений блога с заголовком включаеющим слово "фильм", например "новый фильм", "хороший фильм идет по 1 каналу" | ||
© «Битрикс», 2001-2024, «1С-Битрикс», 2024
Пользовательские комментарии
Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.Для этого нужно всего лишь авторизоваться на сайте
Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.
Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.