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

Вызов одного компонента из шаблона другого

00 голосов
7
При вызове комплексного компонента catalog, в файле element.php шаблона вызывается другой компонент компонент:
Код
<?
$arFilter = Array("SECTION_ID" => 22);
$APPLICATION->IncludeComponent(
    "bitrix:news.list",
    "event-comments",
    Array(
        "DISPLAY_DATE" => "Y", 
        "DISPLAY_NAME" => "Y", 
        "DISPLAY_PICTURE" => "Y", 
        "DISPLAY_PREVIEW_TEXT" => "Y", 
        "IBLOCK_TYPE" => "comments", 
        "IBLOCK_ID" => "6", 
        "NEWS_COUNT" => "10", 
        "SORT_BY1" => "timestamp_x", 
        "SORT_ORDER1" => "DESC", 
        "SORT_BY2" => "SORT", 
        "SORT_ORDER2" => "ASC", 
        "FILTER_NAME" => "arFilter", 
        "FIELD_CODE" => Array("",""), 
        "PROPERTY_CODE" => Array("",""), 
        "DETAIL_URL" => "#", 
        "PREVIEW_TRUNCATE_LEN" => "", 
        "ACTIVE_DATE_FORMAT" => "j F Y", 
        "DISPLAY_PANEL" => "N", 
        "SET_TITLE" => "N", 
        "INCLUDE_IBLOCK_INTO_CHAIN" => "N", 
        "ADD_SECTIONS_CHAIN" => "N", 
        "HIDE_LINK_WHEN_NO_DETAIL" => "Y", 
        "PARENT_SECTION" => "", 
        "CACHE_TYPE" => "A", 
        "CACHE_TIME" => "3600", 
        "CACHE_FILTER" => "N", 
        "DISPLAY_TOP_PAGER" => "N", 
        "DISPLAY_BOTTOM_PAGER" => "Y", 
        "PAGER_TITLE" => "Комментарии", 
        "PAGER_SHOW_ALWAYS" => "N", 
        "PAGER_TEMPLATE" => "", 
        "PAGER_DESC_NUMBERING" => "N", 
        "PAGER_DESC_NUMBERING_CACHE_TIME" => "36000" 
    )
);?>

Я ожидал увидеть список комментариев из раздела 22, информационного блока 6, а в итоге увидел все комментарии из информационного блока 6, то-есть фильтр по новостям не сработал... Проверял вызывать этот же самый компонент со страницы, тогда все нормально работает, фильтрация проходит.
спросил 29 Авг, 13 от Fox2009 (320 баллов)

7 Ответы

00 голосов
Код
<?$arrFilter = Array("SECTION_ID" => 22);?> 
<?$APPLICATION->IncludeComponent(
    "bitrix:news.list",
    "event-comments",
    Array(
        "DISPLAY_DATE" => "Y",
        "DISPLAY_NAME" => "Y",
        "DISPLAY_PICTURE" => "Y",
        "DISPLAY_PREVIEW_TEXT" => "Y",
        "IBLOCK_TYPE" => "comments",
        "IBLOCK_ID" => "6",
        "NEWS_COUNT" => "10",
        "SORT_BY1" => "timestamp_x",
        "SORT_ORDER1" => "DESC",
        "SORT_BY2" => "SORT",
        "SORT_ORDER2" => "ASC",
        "FILTER_NAME" => "arrFilter",
        "FIELD_CODE" => Array("",""),
        "PROPERTY_CODE" => Array("",""),
        "DETAIL_URL" => "#",
        "PREVIEW_TRUNCATE_LEN" => "",
        "ACTIVE_DATE_FORMAT" => "j F Y",
        "DISPLAY_PANEL" => "N",
        "SET_TITLE" => "N",
        "INCLUDE_IBLOCK_INTO_CHAIN" => "N",
        "ADD_SECTIONS_CHAIN" => "N",
        "HIDE_LINK_WHEN_NO_DETAIL" => "Y",
        "PARENT_SECTION" => "",
        "CACHE_TYPE" => "A",
        "CACHE_TIME" => "3600",
        "CACHE_FILTER" => "N",
        "DISPLAY_TOP_PAGER" => "N",
        "DISPLAY_BOTTOM_PAGER" => "Y",
        "PAGER_TITLE" => "Комментарии",
        "PAGER_SHOW_ALWAYS" => "N",
        "PAGER_TEMPLATE" => "",
        "PAGER_DESC_NUMBERING" => "N",
        "PAGER_DESC_NUMBERING_CACHE_TIME" => "36000"
    )
);?>
ответил 29 Авг, 13 от Nelegal (640 баллов)
00 голосов
хм, интересно, почему тогда у меня не работает?? :o
ответил 17 Ноя, 13 от Fox2009 (320 баллов)
00 голосов
$arrFilter
ответил 26 Фев, 14 от Nelegal (640 баллов)
00 голосов
Нет, не вижу никакой разницы между $arFilter и $arrFilter, в вызове компонента в поле FILTER_NAME я ведь и указываю $arFilter
Вобщем это не помогло...
ответил 17 Июнь, 14 от Fox2009 (320 баллов)
00 голосов
Александр Обухов, а не проще ли будет id раздела указать в параметрах вызова компонента?
Цитата
"PARENT_SECTION" => 22
ответил 16 Окт, 14 от sickmind (4,660 баллов)
00 голосов
Странно, но это тоже почему-то не работает. Смотрю в каком виде приходит массив $arParams в шаблон компоненты и вижу следующее:
Код
    ...
    [PARENT_SECTION] => 0
    ...

То-есть данный параметр почему-то затирается... Мистика! :o
ответил 16 Фев, 15 от Fox2009 (320 баллов)
привет, чем кончилось?
только что наступил на эти грабли

нужно передать данные из компонента в компонент, делал на API (дублировал фактически верхний компонент (набирал свой $arrResult)) забирал данные и передавал ниже следующему. Техподдержка сказала - что лучше вызвать  компонент из шаблона верхнего компонента и использовать уже набранный $arrResult... использую а фильтр не передается гад ))
00 голосов
кто может помочь :o создаю опрос, вроде все нормально...но как проголосую кидает на страницу error 404..как узнать что происходит?
ответил 27 Май, 15 от Higer (100 баллов)

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

0 голосов
2 ответов
0 голосов
2 ответов
0 голосов
6 ответов
0 голосов
2 ответов
спросил 14 Апр, 14 от Jagami (100 баллов)
0 голосов
2 ответов
спросил 24 Март, 14 от XIDAN (620 баллов)