Добрый день, коллеги!
Прошу Вас посмотреть правильность реализации, буду рад любой обратной связи.
Исходные данные:
Механизм регистрации заявок реализованный в инфоблоке (за два месяца уже 98 тыс. элементов).
Одним из свойств инфоблока: "Город, регион" (Тип свойства привязка к элементам другого инфоблока "Город, регион" ~120 элементов)
Задача:
Реализовать просмотр количества заявок по каждому "Городу, региону" за предыдущую неделю
Реализация:
Для реализации данной задачи я использовал компонент: bitrix:news.list, которым я вывожу на экран инфоблок "Город, регион" (~120 элементов)
В шаблоне вывода инфоблока делаю:
Функцию подсчета кол-ва элементов:
В переборе элементов, вызываю данную функцию:
Проблема: Долгое время загрузки страницы (не удивительно)
Прошу Вас посмотреть правильность реализации, буду рад любой обратной связи.
Исходные данные:
Механизм регистрации заявок реализованный в инфоблоке (за два месяца уже 98 тыс. элементов).
Одним из свойств инфоблока: "Город, регион" (Тип свойства привязка к элементам другого инфоблока "Город, регион" ~120 элементов)
Задача:
Реализовать просмотр количества заявок по каждому "Городу, региону" за предыдущую неделю
Реализация:
Для реализации данной задачи я использовал компонент: bitrix:news.list, которым я вывожу на экран инфоблок "Город, регион" (~120 элементов)
В шаблоне вывода инфоблока делаю:
Функцию подсчета кол-ва элементов:
Цитата |
---|
<? function countElement ($office, $date){ $cnt = CIBlockElement::GetList( array(), array('IBLOCK_ID' => 42, 'PROPERTY_CLIENT_LOCATION' => $office, '>=DATE_CREATE'=>$date), array(), false, array('ID','PROPERTY_CLIENT_LOCATION','DATE_CREATE') ); return $cnt; } ?> |
В переборе элементов, вызываю данную функцию:
Цитата |
---|
<?foreach($arResult["ITEMS"] as $arItem):?> <? $index = countElement($arItem["ID"], $date); ?> [tr] [td]<? echo $arItem["NAME"]; ?>[/td] [td] <? if($index > 0): ?><?endif;?> <? if($index == 0): ?><?endif;?> [/td] [td]<? echo $index; ?>[/td] [/tr] <?endforeach;?> |