Темизация позволяет настраивать шапку сайта на уровне каталога и для некоторых сущностей.
Собственная шапка может быть полезна для журналов, сборников, материалов конференций, научных семинаров, подбиблиотек организаций и подразделений и в других случаях.
Вы можете:
- установить в качестве шапки сайта любое веб-содержимое на HTML5 и JavaScript, включая меню, ссылки, видео, интерактивный контент, изображение;
- установить левый логотип и ссылку при клике по нему. Логотип отображается поверх веб-содержимого шапки сайта;
- установить правый логотип и ссылку при клике по нему. Логотип отображается поверх веб-содержимого шапки сайта;
- разрешить перекрытие основным контентом сайта шапки (по-умолчанию разрешено) или запретить;
- основной цвет сайта (цвет фона);
- цвет текста.
Настройки шапки сайта задаются в field_config в формате JSON. JSON должен быть валиден, с использованием двойных кавычек и отсутствием лишней запятой перед закрывающей фигурной скобкой.
Темизация определяется в поле field_config следующими переменными:
{ "chromeColor":"#51255C", "textColor":"#FFFFFF", "headerUrl":"https://elis.example.com/epub/12345/fs/index.html", "isHeaderOverflow":false, "isHeaderVisible":false, "logoPrimaryUrl":"https://elis.example.com/logo-right-144h.png", "logoPrimaryHref":"https://elis.example.com", "logoSecondaryUrl":"https://elis.example.com/logo-left-144h.png", "logoSecondaryHref":"https://example.com", "pageBackgroundUrl": "https://example.com/sites/default/files/background.jpg", "sidebarPrimaryChromeColor":"#51255C", "sidebarPrimaryTextColor":"#FFFFFF", "sidebarSecondaryChromeColor":"#323232", "sidebarSecondaryTextColor":"#FFFFFF", "catalogTheme":"tile" }
Все параметры не обязательны. При пропуске любого из них будет браться параметр по-умолчанию.
Параметры:
chromeColor - основной цвет сайта в шестнадцатеричном виде #FFFFFF. По-умолчанию берется из настроек темы сайта. textColor - цвет текста в шестнадцатеричном виде #FFFFFF. По-умолчанию берется из настроек темы сайта. headerUrl - URL-ссылка на веб-контент, рисунок или видео, которые будут заниматься всю шапку и иметь высоту 144 пикселя с адаптивной шириной. При использовании изображений или веб-контента следует обеспечить работоспособность при низких разрешениях при помощи медиа-запросов. Если в веб-содержимом есть гиперссылки, они должны иметь атрибут target="_blank" для открытия всех ссылок в новом окне браузера. isHeaderOverflow - может ли контент перекрывать шапку сайта. Булевое значение (true или false без кавычек). По-умолчанию - true. isHeaderVisible - не выводит шапку сайта для некоторых тем. Булевое значение (true или false без кавычек). По умолчанию - true. headerHeight - высота шапки сайта в CSS-единицах. По-умолчанию: '144px'. logoPrimaryUrl - URL-ссылка на изображение логотипа, размещенного в шапке слева. Изображение должно иметь высоту 144 пикселя и может иметь произвольную ширину. Формат изображения - png, jpg, svg. По-умолчанию не задано. logoPrimaryHref - Ссылка, на которую при клике по левому логотипу перейдет пользователь. По-умолчанию - не задано. logoSecondaryUrl - URL-ссылка на изображение логотипа, размещенного в шапке справа. Изображение должно иметь высоту 144 пикселя и может иметь произвольную ширину. Формат изображения - png, jpg, svg. По-умолчанию не задано. logoSecondaryHref - Ссылка, на которую при клике по правому логотипу перейдет пользователь. По-умолчанию - не задано. pageBackgroundUrl - Ссылка на фоновое изображение. По-умолчанию - не задано. sidebarPrimaryChromeColor - Цвет фона левой боковой панели в шестнадцатеричном виде #FFFFFF. По-умолчанию - не задано. sidebarPrimaryTextColor - Цвет текста левой боковой панели в шестнадцатеричном виде #FFFFFF. По-умолчанию - не задано. sidebarPrimaryVisibility - Отображается или нет левая боковая панель. Может принимать значения "visible" и "invisible". Незаданное значение эквивалентно "visible". По-умолчанию - не задано. Применимо только для темы elis. "visible" - отображает боковую панель, "hidden" - скрывает с возможностью ручного отображения, "invisible" - скрывает без возможности ручного отображения. sidebarSecondaryChromeColor - Цвет фона правой боковой панели в шестнадцатеричном виде #FFFFFF. По-умолчанию - не задано. sidebarSecondaryTextColor - Цвет текста правой боковой панели в шестнадцатеричном виде #FFFFFF. По-умолчанию - не задано. sidebarSecondaryVisibility - Отображается или нет правая боковая панель. Может принимать значения "visible" и "invisible". Незаданное значение эквивалентно "visible". По-умолчанию - не задано. Применимо только для темы elis. "visible" - отображает боковую панель, "hidden" - скрывает с возможностью ручного отображения, "invisible" - скрывает без возможности ручного отображения. catalogChromeColor - Цвет фона каталога в теме “auto” в шестнадцатеричном виде #FFFFFF. Если на задано, будет взято из chromeColor текущего каталога. По умолчанию - не задано. catalogTextColor - Цвет фона каталога в теме “auto” в шестнадцатеричном виде #FFFFFF. Если на задано, будет взято из textColor текущего каталога. По умолчанию - не задано. catalogTheme - Тема для вложенных в папку каталога ресурсов. По-умолчанию - 'auto'. Допустимые значения: 'auto' - автоматический выбор, 'minimal' - минимальное отображение информации, 'tile' - плиточный интерфейс, 'catalogTile' - подкаталоги в виде плиток, 'column' - одна колонка с крупными обложками. coverFit - Как будет вписано изображение обложки в каталоге. Может принимать одно из значений: 'fill', 'contain', 'cover', 'scale-down'. Что означают значения можно посмотреть: https://developer.mozilla.org/ru/docs/Web/CSS/object-fit
Тема в field_config может заполняться у нод типа "папка каталога" (subj) и у сущностей из словаря Serial.
Если у нод "папки каталога" поле field_config не заполнено, будет искаться среди родительских папок рекурсивно вверх хоть одна нода с заполненной темой и первая найденная будет применяться для текущей ноды. Таким образом темизация наследуется по каталогу.
Настройки свойств по-умолчанию определяются только если поле field_config не пустое.
Если тему найти не удается, используется тема из настроек всего сайта целиком.
Дополнительную информацию по field_config можно найти в документации администратора: https://elibsystem.ru/docs/admin/fields.html#field-config