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

Компонент «Календарь»

00 голосов
9
Здравствуйте.
Сейчас пробую кастомизировать стандартный компонент news:calendar.
Встал такой вопрос, как сделать, чтобы информация в календарь выводилась на основе не одного блока, а, скажем, двух.

В коде подключения компонента есть такие строки:
Код
"IBLOCK_TYPE" => "news",
   "IBLOCK_ID" => "9",


Наверное копать нужно здесь?
Но как, не очень понятно.
Заранее спасибо за ваш ответ.
спросил 25 Май, 13 от Asteria (1,840 баллов)

9 Ответы

00 голосов
Нет, насколько я знаю и помню выборка идет из одного инфоблока. если "IBLOCK_ID" => array("9","10") не прокатит, то тогда только добавлять второй инфоблок на момент подключения шаблона (Файл result_modifier.php, который подключается непосредственно перед подключением шаблона компонента.) Или используйте два компонента для вывода 2х инфоблоков
ответил 25 Май, 13 от spamer (500 баллов)
00 голосов
Скопировать компонент в своё пространство имён и модифицировать?
Возможно, что придётся модифицировать всего одну строчку: у меня она под номером 7 идёт :)
Только надо проверить, сработает или нет :)
ответил 26 Май, 13 от sickmind (4,660 баллов)
00 голосов
Ах, да. Ещё надо будет подправить файлик .parameters.php - чтобы правильно можно было выбирать инфоблоки....
ответил 20 Авг, 13 от sickmind (4,660 баллов)
00 голосов
Цитата
Александр Черкасов пишет:
Скопировать компонент в своё пространство имён и модифицировать?Возможно, что придётся модифицировать всего одну строчку: у меня она под номером 7 идёт :)Только надо проверить, сработает или нет :)

Так и сделал, только какой файлик подправить нужно? component.php?

У меня там строка:
Код
$arParams["IBLOCK_ID"] = intval($arParams["IBLOCK_ID"]);


Что с ней сотворить нужно?? :)
ответил 19 Ноя, 13 от Asteria (1,840 баллов)
00 голосов
Изменил параметр MULTIPLE у IBLOCK_ID в .parameters.php на Y.
А 7-ую строчку из component.php просто закомментировал. Теперь выводит все как надо :))
ответил 27 Фев, 14 от Asteria (1,840 баллов)
00 голосов
Вместо закомментирования строки надо бы все элементы массива $arParams["IBLOCK_ID"] обрабатывать intval'ом. На всякий случай ;)
Чтобы в GetList попадали только цифровые значения в качестве ID'шников. А то вдруг кто-то в параметрах строку укажет....
ответил 19 Июнь, 14 от sickmind (4,660 баллов)
00 голосов
Александр Черкасов, с прошлым вроде бы разобрался, но встал еще один вопрос…

Как формируется подмассив $arDay["events"], входящий в $arResult["MONTH"]?
В component.php в строчке 328 значится:
Код
$arDay["events"] = array();

Из этой строки не очень понятно… Точнее вообще непонятно, ничего другого подходящего не нашел. Может плохо искал? :|

Подскажите, если знаете.
ответил 18 Окт, 14 от Asteria (1,840 баллов)
00 голосов
Это создание переменной-массива. Ниже идёт заполнение данными из инфоблока
ответил 18 Фев, 15 от sickmind (4,660 баллов)
00 голосов
Цитата
Александр Черкасов пишет:
Ниже идёт заполнение данными из инфоблока

А по какому принципу заполняется? Мне, например, хочется дописать туда еще один параметр, но как это сделать я не знаю, потому что не знаю как он формируется.

Где этот код найти? :)
ответил 28 Май, 15 от Asteria (1,840 баллов)

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

0 голосов
1 ответ
спросил 10 Июль, 14 от nikish (230 баллов)
0 голосов
0 ответов
спросил 05 Май, 14 от Kania (5,180 баллов)
0 голосов
0 ответов
спросил 03 Май, 14 от Davve (100 баллов)
0 голосов
5 ответов
спросил 18 Ноя, 13 от Arvendel (100 баллов)