Как изменить программно логотип компании на портале Битрикс 24?

Напомню, что в левом верхнем углу корпоративного портала помещается логотип компании, который можно задать через настройки:

Иногда возникает необходимость сделать логотип вариативным: например, пользователи-иностранцы хотят видеть не стандартный логотип, а логотип на английском языке.

Для этого необходимо изменить логотип программно. Алгоритм действий при этом следующий:

  • Помещаете файл альтернативного логотипа в папку upload;
  • Добавляете код смены логотипа (через JQuery) в специальный файл в папке \local\js\имя модуля:
       $(".logo-image-container").each(function (index, el){
            var firstChild = $(el).find(':first-child')
            $(firstChild).attr("src","/upload/путь к файлу").css({
                height: "51px",
                width: "200px"
              });
            $(firstChild).removeAttr("srcset")
        });
  • в событии OnEpilog добавляете расширение и вызываете этот код командой:
use Bitrix\Main\Page\Asset;
$asset = Asset::getInstance();
\CJSCore::RegisterExt('имя расширения',
[
    'js' => '/local/js/путь к файлу?'.$date->getTimestamp()
]
\CJSCore::init(['имя расширения']);
$asset->addString('<script>BX.ready(function () {BX.имя расширения.название функции в файле("");});</script>');