mixed IncludeComponent( ... ); Метод подключает компонент 2.0
Возвращаемое значение Возвращает код компонента.
Из докуметации я понимаю, что компонент мне должен вернуть html код шаблона компонента. Но на практике получаю либо ничего, либо 1. А код шаблона на экран.
такое можно сделать если вы логику вывода перенесете из template.php в component.php, а в component.php вместо $this->IncludeComponentTemplate(); отдадите буфер return'ом. Можете сразу формировать вывод в переменную, тогда можно обойтись без ob_get_contents.
Столкнулся с аналогичной проблемой. Нужно, чтобы один и тот же компонент отображался на странице в одном случае, а во втором - результаты его работы необходимо отдавать в JavaScript для дальнейшего вывода куда-то еще.
далее используете где хотите, после подключения компонента $arProfile, модно подключить в шапке, там будет массив профиля, или любой другой который передатите.
А зачем? в вопросе же " результаты его работы необходимо отдавать в JavaScript". Сразу отдать в JS и все. Иначе придется тащить в кеш дополнительные данные.
Впрочем, смысла сейчас обсуждать нет, полагаю Дмитрий решил свою задачу еще два года назад