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

Вызов IncludeComponent в представлении (template.php) комплексного компонента

00 голосов
6
Добрый день.
Реально ли вызвать IncludeComponent в представлении (template.php) комплексного компонента (template.php)?
спросил 24 Окт, 13 от wogich (630 баллов)

6 Ответы

00 голосов
Делаю вот так.
Код
ob_start();
   $APPLICATION->IncludeComponent("bitrix:breadcrumb", "template_ext", 
      array(
         "START_FROM" => "0",
         "PATH" => "",
         "SITE_ID" => "s1"
      ),
      null
   );
   $component_str = ob_get_contents();
   ob_end_clean();

Но почему-то компонент отображается ))) Хотя я ещене сделал echo $component_str;
Почеум так?
ответил 20 Ноя, 13 от wogich (630 баллов)
00 голосов
Можно узнать зачем Вам это?
ответил 28 Фев, 14 от Almarea (3,760 баллов)
00 голосов
Цитата
Дмитрий Яковенко пишет:
Можно узнать зачем Вам это?


Нужно (долго объяснять). Вы знаете ответ?
Вы не знаете, как получить id элемента инфоблока на странице detail.php до вызова самого компонента?
Компонент - news.
Знал бы я id - не делал бы таких извращений =)
ответил 20 Июнь, 14 от wogich (630 баллов)
00 голосов
Цитата
Марат пишет:
Знал бы я id - не делал бы таких извращений

Если у Вас URL для детальной страницы основан на ID элемента, а не на символьном коде, то брать его можно из
Код
$arResult["VARIABLES"]["ELEMENT_ID"]
ответил 19 Окт, 14 от Pomnep (13,960 баллов)
00 голосов
Цитата
Евгений Жуков пишет:
Цитата
Марат пишет:

Знал бы я id - не делал бы таких извращений


Если у Вас URL для детальной страницы основан на ID элемента, а не на символьном коде, то брать его можно из

Код

$arResult["VARIABLES"]["ELEMENT_ID"]


на символьном коде как раз =)
ответил 18 Фев, 15 от wogich (630 баллов)
00 голосов
Код
      $arParams["ELEMENT_ID"] = CIBlockFindTools::GetElementID(
         $arParams["ELEMENT_ID"],
         $arParams["ELEMENT_CODE"],
         false,
         false,
         $arFilter
      );


Это кусок кода из news.detail для решения этого вопроса. Единственный минус - необходимо подключить модуль инфоблоков перед вызовом.
ответил 29 Май, 15 от Pomnep (13,960 баллов)

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

0 голосов
4 ответов
0 голосов
5 ответов
0 голосов
7 ответов
спросил 13 Июль, 13 от delajla (500 баллов)