- Главная
- Категории
- Настройки
- Темы оформления
- Шаблоны
- Общие Компоненты шаблонов
Общие Компоненты шаблонов
Следующие компоненты доступны в любом шаблоне.
Свойства компонентов, выделенные красным, являются обязательными.
<Asset/>
Подключает в странице библиотеку, предопределённую системой.
Свойства:
- name (строка): имя подключаемой библиотеки:
- animate-css : animate.css v3
- bootstrap4 : Bootstrap v4
- font-awesome4 : Font Awesome 4.7
- jquery : jQuery v3
- popper : popper.js v1
<Asset name="bootstrap4"/>
Обратите внимание, что между библиотеками могут быть зависимости, в результате чего подключение Bootstrap v4 из примера выше подключит также jQuery и popper.js.
<CSS/>
Подключение CSS файлы.
Свойства:
- href (строка): имя файла внутри папки css/ , либо урл внешнего файла, начиная с https:// или // ;
- bundle (строка): необязательное имя группы для задания зависимостей;
- depends (строка): список имён других групп, от которых зависит эта группа. Имена разделаются пробелами и/или запятыми.
<CSS href="style.css" depends="fonts"/> <CSS href="//fonts.googleapis.com/css?family=Open+Sans:400,600,700,800" bundle="fonts"/>
В данном примере файл темы style.css зависит от группы файлов fonts, в которых объявлен внешний css файл по указанному адресу. К странице будет подключён сначала внешний файл, а после зависимый от него style.css.
<JS/>
Подключение JS файлы темы.
Свойства:
- href (строка): имя файла внутри папки js/ , либо урл внешнего файла, начиная с https:// или // ;
- bundle (строка): необязательное имя группы для задания зависимостей;
- depends (строка): список имён других групп, от которых зависит эта группа. Имена разделаются пробелами и/или запятыми.
<JS href="script.js"/>
Объявление зависимостей между JS файлами аналогично зависимостям между CSS файлами.
<If>...</If>
Условное отображение блока.
Свойства:
- true (boolean): тело блока отображается, если значение свойства соответствует истине;
- false (boolean): тело блока отображается, если значение свойства соответствует лжи.
<If true={show_image}> <img src={image_url} alt={image_alt}/> </If> <If false={show_image || show_text}> {# демо баннер по умолчанию #} </If>
Оба свойства true и false могут быть указаны вместе. В этом случае они объединяются логикой И.
<IfLanguage>...</IfLanguage>
Условное отображение блока в зависимости от текущего языка. (см. также <I18N/> ниже)
Свойства:
- is (строка): коды языков, разделённые пробелами и/или запятыми. Код может быть либо из двух буков (например: ru, en и т.п.), либо из пяти символов (например: ru-RU, en-US и т.п.). Тело блока будет выведетно, если текущий язык соответствует любому из перечисленых;
- not (boolean): инверсия проверки языка. Тело блока будет выведено, если текущий язык НЕ соответствует ни одному из указанных.
<IfLanguage is="ru, ua"> <p>Здравствуйте</p> </IfLanguage> <IfLanguage not is="ru, ua"> <p>Hello</p> </IfLanguage>
<IfModule>...</IfModule>
Условное отображение блока согласно включённым модулям.
Свойства:
- module (строка): имя проверяемого модуля. Тело блока будет выведено, если модуль включён. Значением должно быть одно из имём модулей:
- chat: чат;
- forum: форум;
- wiki: база знаний.
- disabled (boolean): инверсия проверки: тело блока будет выведено, если модуль отключён.
<IfModule module="forum" disabled> <p>Форум отключён.</p> </IfModule>
<I18N/>
Выбор текста в зависимости от текущего языка.
Свойства:
- код-языка (строка): текст для вывода, если текущий язык совпадает с указанным в качестве имени свойства;
- default (строка): текст для вывода, если текущий язык не совпал ни с одним из указаных.
Код языков в именах свойств может быть как двухбуквеным (например: ru, en и т.п.), так и из 5 символов (например: ru-RU, en-US и т.п.). Более длинный код имеет приоритет над более коротким.
<I18N ru-RU="Здравствуйте" en-US="Hello" en="Good morning" default="..." />
Для языка ru-RU будет выведено "Здравствуйте". Для языка en-US будет выведено "Hello". Для прочих вариантов английского en будет выведено "Good morning". Для всех остальных языков будет выведено "...".
<UH-AdminLink/>
Ссылка на Панель Управления при наличии привилегий. Можно указать элемент-обёртку при необходимости. Если привилегий нет, то ничего не будет выведено.
Свойства:
- linkClass (строка): значение для атрибута class="" для создаваемой ссылки <a>;
- wrapTag (строка): обернуть ссылку в элемент с указанным именем;
- wrapClass (строка): значение атрибута class="" для оборачиваемого элемента wrapTag.
<UH-AdminLink wrapTag="div" wrapClass="sblock" linkClass="blue-button" />
<UH-Banner/>
Вывод баннера согласно настройкам в Панели Управления. Если баннер не установлен, то ничего не будет выведено, включая элемент-обёртку.
Свойства:
- place (строка): имя позиции баннера:
- top: верхний боковой.
- bottom: нижний боковой.
- wrapTag (строка): обернуть ссылку в элемент с указанным именем. По умолчанию уже указан элемент div. Если обёрка не нужна, можно указать выражение false (см пример);
- wrapClass (строка): значение атрибута class="" для оборачиваемого элемента wrapTag.
{# верхний баннер будет обёрнут в <div class="poster-back">...</div> #} <UH-Banner place="top" wrapClass="poster-back"/> {# нижний баннер не будет обёрнут ни во что #} <UH-Banner place="bottom" wrapTag={false}/>
<UH-CopyrightText/>
Текст с данными об авторских правах на платформу userhorn.com. Текст обязан быть выведен на всех страницах. Текст рекомендуется выводить в подвале страницы.
В случае отсутствия на странице (или иного способа скрытия) конечного текста, который выводит данный компонент, мы оставляем за собой право принимать меры (например, ограничение функциональности, вывод текста в произвольном месте или другие меры).
<UH-CopyrightText/>
<UH-Languages-Dropdown/>
Кнопка с выпадающим меню для выбора языковой версии.
Свойства:
- showIfUseless (boolean): показывать выбор даже когда доступен только один вариант выбора (т.е. фактически выбора нет). По умоланию false;
- wrapTag (строка): обернуть всё в элемент с указанным именем;
- wrapClass (строка): значение атрибута class="" для оборачиваемого элемента wrapTag;
- dropdownTogglerId (строка): значение атрибута id="" для кнопки, раскрывающей выпадающее меню. По умолчанию используется languages-dropdown-button;
- togglerButtonType (строка): Дополнительный класс в атрибут class="" для кнопки, раскрывающей выпадающее меню. По умолчанию btn-secondary;
- dropdownClass (строка): дополнительный класс в атрибут class="" для выпадающего меню.
<UH-Languages-Dropdown wrapTag="div" wrapClass="header-sub-item language-menu" togglerButtonType="btn--header-transparent" dropdownClass="dropdown-menu-right" />
<UH-Languages-Menu>...</UH-Languages-Menu>
Произвольное меню выбора языковой версии.
Свойства:
- wrapTag (строка): обернуть список в элемент с указанным именем;
- wrapClass (строка): значение атрибута class="" для оборачиваемого элемента wrapTag;
- glue (строка): текст разделитель между элементами.
Тело компонента будет выведено для каждого элемента меню. Внутри тела доступны следующие параметры из данной языковой версии:
- active (boolean): является ли данная языковая версия текущей;
- code (строка): имя языковой версии из адресной строки, которое было указано при создании языковой версии;
- label (строка): название языковой версии;
- language (строка): код языка из 5 символов (например, ru-RU, en-US и т.п.);
- url (строка): ссылка;
- uuid (строка): уникальный идентификатор языковой версии.
<UH-Languages-Menu wrapTag="nav" wrapClass="subprojects-menu" glue=" " > <a href={url} class={ "nav-link ${ active && "active" }" } data-uuid={uuid} > <code>{code}</code> {label} (<code>{language}</code>) </a> </UH-Languages-Menu>
<UH-Logo/>
Логотип, выбранный в настройках внешнего вида в Панели Управления.
<UH-Logo/>
<UH-PoweredBy/>
Небольшой баннер "Powered by userhorn.com" со ссылкой на платформу userhorn.com.
Свойства:
- imageClass (строка): значение атрибута class="" для изображения;
- linkClass (строка): значение атрибута class="" для ссылки.
<UH-PoweredBy imageClass="img-fluid" linkClass="d-block"/>
<UH-SearchBar/>
Блок со строкой поиска.
<UH-SearchBar/>