Есть такая ситуация:
Два компонента, в первом компоненте при клике на кнопку открывается модальное окно, в котором по ajax подтягивается второй компонент.
1 компонент
| Код |
|---|
...
public function ajaxModalAction()
{
global $APPLICATION;
ob_start();
$APPLICATION->IncludeComponent(
"namespace:component2",
"",
array(),
false,
array("HIDE_ICONS" => "Y")
);
$html = ob_get_clean();
return \Bitrix\Main\Engine\Response\AjaxJson::createSuccess([
'html' => $html,
]);
}
... |
Как при такой реализации подтянуть все скрипты и стили из компонента 2?
Пробовал использовать $APPLICATION->ShowAjaxHead() по всякому и в 1 компоненте (во всевозможных местах) и даже во втором компоненте. Ничего не работает. При отладке после вызова $APPLICATION->ShowAjaxHead() вижу что скрипты есть в коллекции Asset::getInstance(), но по факту они не добавляются на страницу.
В сети все инструкции для использования $APPLICATION->ShowAjaxHead() только при вызове ajax через отдельную страницу, но как быть в моем случае?
Если в моем случае не получится использовать $APPLICATION->ShowAjaxHead(), как поступить правильно, без костылей?