Вывод компонента в шаблоне другого компонента - amel-post/bitrix.help GitHub Wiki
result_modifier.php
<?php
$this->__component->SetResultCacheKeys(array("CACHE_TMPL"));
component_epilog.php
<?php
$arResult['CACHE_TMPL'] = preg_replace_callback(
"/#LOCATION#/",
function($matches) use ($APPLICATION, $arParams, $arResult, $USER)
{
ob_start();
$params = explode('_', str_replace('#', '', $matches[0]));
$APPLICATION->IncludeComponent(
"bitrix:sale.location.selector.search",
"",
Array(
"CACHE_TIME" => "36000000",
"CACHE_TYPE" => "N",
"CODE" => "",
"FILTER_BY_SITE" => "N",
"ID" => $params[1],
"INITIALIZE_BY_GLOBAL_EVENT" => "",
"INPUT_NAME" => "LOCATION_ID[" . $params[2] . "]",
"JS_CALLBACK" => "locationUpdate",
"JS_CONTROL_GLOBAL_ID" => '',
"PROVIDE_LINK_BY" => "id",
"SHOW_DEFAULT_LOCATIONS" => "N",
"SUPPRESS_ERRORS" => "N"
)
);
$returnStr = @ob_get_clean();
return $returnStr;
},
$arResult['CACHE_TMPL']
);
echo $arResult['CACHE_TMPL'];