При постоянном использовании модуля Централизованное управление социальными плагинами обнаружилась такая проблема: часто бывает нужно разместить плагины внутри закешированных шаблонов компонентов, и т.к. при отображении из кеша компонент не вызывается, код заголовка при этом не подключается.
Решение этой проблемы достаточно простое:[spoiler]
Скопируем шаблон компонента "grain:plugin.group" в шаблон сайта по умолчанию под именем "only_head" (скопируем содержимое папки "/bitrix/components/grain/plugin.group/templates/.default/" в папку "/bitrix/templates/.default/components/grain/plugin.group/only_head/" )
Отредактируем шаблон (файл "/bitrix/templates/.default/components/grain/plugin.group/only_head/template.php" ), оставим в нем только подключение кода заголовка:
Разместим компонент с нашим шаблоном "only_head" в шаблоне сайта в файле "header.php" сразу после тега "<body>", указав ID нужной группы плагинов:
Данный код лучше всего размещать сразу после тега "<body>", т.к. если код заголовка подключается не в области "<head>" страницы (у плагина установлена галочка "<body>" ), то он будет выведен напрямую, без использования функции $APPLICATION->AddHeadScript(). К тому же Facebook, например, рекомендует размещать общий код для всех плагинов именно сразу после тега "<body>", поэтому данный способ будет наиболее правильным, даже если Вы не планируете размещать плагины внутри закешированных компонентов.
Группы на сайте создаются не только сотрудниками «1С-Битрикс», но и партнерами компании. Поэтому мнения участников групп могут не совпадать с позицией компании «1С-Битрикс».