Тот, кто знаком с функционалом системы битрикс, то наверняка знает о том, что такое информационные блоки. Информационные блоки позволяют систематизировать однородную информацию, заводить свойства разных типов для этих данных, а так же удобно использовать возможности представления их на сайте.
Большинство сайтов работающих под управлением системы битрикс используют модуль информационных блоков реализации каталогов товара, новостных лент, и так далее. При умении программировать, и работать с документацией диапазон возможностей использования информационных блоков значительно увеличивается.
В данной заметке мы рассмотрим небольшой пример, который позволяет подсчитать количество элементов в информационном блоке. Для этого в битриксе существуют методы, посредством которых это дело можно сделать.
Первым делом давайте подключим API битрикса, для возможности использования его в своем скрипте.
// подключение API Bitrix require_once($_SERVER['DOCUMENT_ROOT']."/bitrix/modules/main/include/prolog_before.php");
После этого подключаем модуль информационных блоков.
// подключение модуля инфоблоков CModule::IncludeModule("iblock");
В качестве примера у нас есть выборка элементов с помощью метода CIBlockElement::GetList. Это один из многочисленных методов для работы с модулем информационных блоков. Чтобы узнать кол-во элементов, полученное при выборке, мы воспользуемся методом SelectedRowsCount().
// выборка записей $resElemCnt = CIBlockElement::GetList( false, // сортировка array('IBLOCK_TYPE' => 'catalog'), // фильтрация false, // параметры группировки полей false, // параметры навигации array("ID") // поля для выборки ); // вывод результата echo 'Количество элементов: ' . $resElemCnt -> SelectedRowsCount();
На самом деле метод SelectedRowsCount() может работать и со многими методами выборки записей из других модулей. Это говорит о том, что его использование не ограничивается модулем информационных блоков.
Второй аналогичный пример, но уже с методом CAdvBanner::GetList. С помощью этого метода мы получим список банеров, а посредством метода SelectedRowsCount() узнаем количество присутствующих записей в выборке.
// подключение модуля advertising CModule::IncludeModule("advertising"); // выборка списка записей банеров $rsBanners = CAdvBanner::GetList($by, $order, $arFilter, $is_filtered); // показ кол-ва записей echo 'Количество записей: ' . $rsBanners->SelectedRowsCount();