
Введение
(Пропустите вводную часть и перейдите сразу к примерам)Есть два основных способа использования Font Awesome (или других) иконок в XenForo:
1. Псевдоэлементы (before &/or after text)
В этом случае через CSS задается отображение иконки перед или после текста, например, в названии узла, префиксе или элементе навигации. Обычно это реализуется добавлением CSS-кода в шаблон extra.less.Для псевдоэлементов CSS (иконка перед/после текста) используйте следующий синтаксис в extra.less:
CSS:
.m-faIcon(@fa-var-icon-name); /* Обычная иконка */
.m-faIcon(@fa-var-duotone-icon-name); /* Двухцветная иконка */
.m-faIcon(@fa-var-solid-icon-name); /* Жирная иконка */
.m-faIcon(@fa-var-light-icon-name); /* Легкая иконка */
2. Прямое использование в шаблоне
Если нужно просто добавить иконку в шаблон или HTML, используйте этот синтаксис: HTML:
<xf:fa icon="fa-icon-name" aria-hidden="true" />
Что мы будем делать в этом гайде:
- Добавление иконки в категорию узлов
- Замена стандартной иконки узла
- Добавление иконки в префикс темы
- Использование иконок в навигации
- Добавление иконок в шаблоны
Добавление иконки в категорию узлов
В шаблоне extra.less измените id в соответствии с вашими настройками. CSS:
// Добавление иконки к категории с id=4
.block--category.block--category4 .block-header:before
{
.m-faIcon(@fa-var-sparkles);
}
CSS:
.block--category.block--category4 .block-header:before
{
.m-faIcon(@fa-var-duotone-sparkles);
}
Solid
CSS:
.block--category.block--category4 .block-header:before
{
.m-faIcon(@fa-var-solid-sparkles);
}
CSS:
.block--category.block--category4 .block-header:before
{
.m-faIcon(@fa-var-light-sparkles);
}
CSS:
// Добавление большой красной иконки к категории с id=4
.block--category.block--category4 .block-header:before
{
.m-faIcon(@fa-var-sparkles);
color: red; /* Красный цвет */
font-size: 36px; /* Увеличенный размер */
}
Замена стандартной иконки узла
(Как и выше, можно использовать обычные, жирные, легкие или двухцветные иконки)Чтобы заменить стандартную иконку узла, добавьте следующий код в шаблон extra.less:
CSS:
.node .node-icon i
{
&:before
{
.m-faIcon(@fa-var-coffee-pot);
width: 100%;
}
svg
{
display: none;
}
}
Замена иконки для конкретного узла
(Если стандартные иконки уже были удалены выше, svg можно не указывать повторно)Измените id узла в соответствии с вашими настройками.
CSS:
.node.node--id8 .node-icon i
{
&::before
{
.m-faIcon(@fa-var-bullhorn);
}
svg
{
display: none;
}
}
Добавление иконки к префиксу темы
Например, для светло-зеленого префикса (в шаблоне extra.less):Перед текстом
CSS:
.label.label--lightGreen:before
{
.m-faIcon(@fa-var-flower-tulip); }
После текста
CSS:
.label.label--lightGreen:after {
.m-faIcon(@fa-var-flower-daffodil);}
Как до, так и после
CSS:
.label.label--lightGreen {
&:before {
.m-faIcon(@fa-var-flower-tulip);
}
&:after {
.m-faIcon(@fa-var-flower-daffodil);
}
}
Иконки в навигации
- Добавление иконки к тексту
Иконка перед заголовком навигации
Например, для вкладки Forums (id навигации = forums)
Добавьте это в extra.less:
CSS:
[data-nav-id="forums"]:before
{
.m-faIcon(@fa-var-comments);
margin-right:5px
}
Иконка после заголовка навигации
CSS:
[data-nav-id="forums"]:after
{
.m-faIcon(@fa-var-comments);
margin-left:5px;
}
2. Иконка как заголовок навигации вместо текста, также для фраз.
Элементы навигации основаны на фразах, поэтому для существующих (по умолчанию в XenForo) элементов навигации нужно найти соответствующую фразу. Вы можете найти все фразы, поискав заголовок в Admin Control Panel > Appearance > Search Phrases. Все фразы навигации начинаются с nav., поэтому их легко найти, даже если есть несколько похожих фраз. Например, для Forums фраза будет nav.forums. Чтобы изменить фразу, используйте этот синтаксис: Код:
{icon:far::icon-name}
- Обычная иконка:
{icon:far::sparkles}
- Жирная иконка:
{icon:fas::sparkles}
- Двухцветная иконка:
{icon:fad::sparkles}
HTML:
<span style="color:yellow">{icon:far::sparkles}</span>
Добавление иконок в шаблоны
Добавьте этот код туда, где хотите, чтобы иконки отображались в шаблоне XenForo или рекламе. Вы можете использовать его как чистую иконку или внутри ссылки.Обычная иконка
HTML:
<xf:fa icon="fa-sparkles" aria-hidden="true"/>
Жирная иконка (fas)
HTML:
<xf:fa icon="fas fa-sparkles" aria-hidden="true"/>
Двухцветная иконка (fad)
Код:
<xf:fa icon="fad fa-sparkles" aria-hidden="true"/>
Легкая иконка (fat)
HTML:
<xf:fa icon="fal fa-sparkles" aria-hidden="true"/>
Иконки могут быть ссылкой:
HTML:
<a href="https://example.com/page"><xf:fa icon="fa-sparkles" aria-hidden="true"/></a>
Стилизация с цветом, размером, отступами и т.д.
HTML:
<xf:fa style="color:orange;font-size:22px;margin-left:5px;" icon="fad fa-palette" aria-hidden="true" />
style="..."
), вы можете использовать класс, который затем можно определить в вашем CSS (в шаблоне extra.less): HTML:
<xf:fa class="your-class" icon="fad fa-sparkles" aria-hidden="true"/>