Добро пожаловать на сайт Bitrix Q&A, где вы можете задавать вопросы о программировании и разработке на Битрикс и получать быстрые и квалифицированные ответы от профессионалов!


Количество элементов в инфоблоках

0 голосов
Для того чтобы вывести кол-вл элементов в инфоблоке есть этот код:
Код
$arFilter = Array("IBLOCK_ID"=>111, "ACTIVE_DATE"=>"Y", "ACTIVE"=>"Y", "PROPERTY_RUBRIC" => $arSection["ID"]);
    $res = CIBlockElement::GetList(Array(), $arFilter, Array());
    echo $res;
Что добавить в этот код чтобы вывести общее кол-во элементов нескольких инфоблоков?
спросил 22 Апр, 13 от delajla (500 баллов)

9 Ответы

0 голосов
А у всех этих инфоблоков есть свойство RUBRIC?
ответил 22 Апр, 13 от Ly (4,580 баллов)
0 голосов
Цитата
Dmitry Ban пишет:
А у всех этих инфоблоков есть свойство RUBRIC?
Я привел пример кода из документации. Свойство можно добавить конечно же если необходимо.
ответил 23 Апр, 13 от delajla (500 баллов)
0 голосов
Цитата
Дмитрий Колупаев пишет:
Я привел пример кода из документации. Свойство можно добавить конечно же если необходимо.
Наоборот. Если у вас есть фильтрация по свойству, то запрос к нескольким инфоблокам сделать проблематично.

А так всё просто.


Код
$res = CIBlockElement::GetList(
   false,
   array(
      'IBLOCK_ID' => array(5,12,28),   // массив ID инфоблоков
      'ACTIVE' => 'Y',
   ),
   array('IBLOCK_ID')
);
while ($el = $res->Fetch())
   print_r($el);
Получите массив наборов "ID инфоблока - кол-во элементов, попадающих под фильтр".
ответил 17 Июнь, 13 от Ly (4,580 баллов)
0 голосов
Вставляю код
Код
<?
$res = CIBlockElement::GetList(
   false,
   array(
      'IBLOCK_ID' => array(3,47),   // массив ID инфоблоков
      'ACTIVE' => 'Y',
   ),
   array('IBLOCK_ID')
);
while ($el = $res->Fetch())
   print_r($el);
?>


Выдает ошибку:
Fatal error: Class 'CIBlockElement' not found in /home/............ ./tst/index.php on line 5

Инфоблоки с ID 3 и 47 существуют, элементы в них есть. В чем может быть проблема?
ответил 20 Сен, 13 от delajla (500 баллов)
0 голосов
модуль инфоблоков подцепить сначала?

CModule::IncludeModule("iblock")
ответил 19 Дек, 13 от Shilen (900 баллов)
0 голосов
Цитата
Sergey Emelyanov пишет:
модуль инфоблоков подцепить сначала?

CModule::IncludeModule("iblock";)
Если не сложно, напишите пожалуйста код "подцепления" :)
ответил 04 Апр, 14 от delajla (500 баллов)
0 голосов
Цитата
Дмитрий Колупаев пишет:
Если не сложно, напишите пожалуйста код "подцепления"

Сергей, чур вам это объяснять :)
ответил 27 Июль, 14 от Ly (4,580 баллов)
0 голосов
Код
<?
if(CModule::IncludeModule("iblock"))
{
 $res = CIBlockElement::GetList(
   false,
   array(
   'IBLOCK_ID' => array(3,47),   // массив ID инфоблоков
   'ACTIVE' => 'Y',
   ),
   array('IBLOCK_ID')
);
while ($el = $res->Fetch())
   print_r($el);
}
 ?>
 
так наверное :)
ответил 29 Ноя, 14 от Shilen (900 баллов)
0 голосов
На странице выводится:

Код
Array ( [IBLOCK_ID] => 3 [CNT] => 1 ) Array ( [IBLOCK_ID] => 47 [CNT] => 1 )


:)
ответил 24 Март, 15 от delajla (500 баллов)

Похожие вопросы

0 голосов
1 ответ
спросил 25 Окт, 17 от аноним
0 голосов
2 ответов
0 голосов
4 ответов
спросил 27 Июль, 13 от Anton6 (160 баллов)
0 голосов
3 ответов
0 голосов
1 ответ
спросил 05 Окт, 13 от аноним
Управление продуктом: аналитика, разработка, продвижение