XF 2.2 Как сделать смену цвета sticky-header или p-nav

Статус
В этой теме нельзя размещать новые ответы.
Версия XenForo
2.2

Agrovsky

Проверенные
Сообщения
11
Реакции
2
Баллы
5,500
Как сделать цвет sticky-header или p-nav в зависимости от категорий, допустим у нас есть категория форума 1 test category и цвет горизонтального меню зеленый, заходим на категорию форумов test category 2 и цвет горизонтального меню поменялся на красный . аналог как
пример 1:
пример 2:
 
Последнее редактирование модератором:
Решение
Если без разработки дополнения, то можно простым LESS-кодом.
Раз речь идёт о категориях, идём в настройки /admin.php?options/groups/nodeList/#categoryOwnPage и отмечаем чекбокс.
Добавляем код ниже в EXTRA.less
Less:
[data-template="category_view"],
[data-container-key='node-1']
{
    .p-nav {
        background: @xf-contentBg;
    }
}
Где .p-nav необходимо указать селектор.
Где node-1 необходимо указать идентификатор.
Где @xf-contentBg необходимо указать цвет.
Если не хотите платить за разработку дополнения, где можно всё это удобно сделать и у вас много разделов и вы хотите часто менять цвета, то можно добавить переменные для удобства, дабы в будущем было удобнее менять цвета в случае чего.

Less:
/*...
Если без разработки дополнения, то можно простым LESS-кодом.
Раз речь идёт о категориях, идём в настройки /admin.php?options/groups/nodeList/#categoryOwnPage и отмечаем чекбокс.
Добавляем код ниже в EXTRA.less
Less:
[data-template="category_view"],
[data-container-key='node-1']
{
    .p-nav {
        background: @xf-contentBg;
    }
}
Где .p-nav необходимо указать селектор.
Где node-1 необходимо указать идентификатор.
Где @xf-contentBg необходимо указать цвет.
Если не хотите платить за разработку дополнения, где можно всё это удобно сделать и у вас много разделов и вы хотите часто менять цвета, то можно добавить переменные для удобства, дабы в будущем было удобнее менять цвета в случае чего.

Less:
/* === COLOR OF NAVIGATION IN THE CATEGORIES === */
@catNode1Color: @xf-contentBg; // Цвет навигации в  первой категории

[data-template="category_view"],
[data-container-key='node-1']
{
    .p-nav {
        background: @catNode1Color;
    }
}
/* === COLOR OF NAVIGATION IN THE CATEGORIES === */

В данном кейсе, как я понимаю вы хотите много менять, если у некоторых категорий будут совпадать цвета, то вы можете перечислить, например так:
Less:
[data-template="category_view"],
[data-container-key='node-1'],
[data-container-key='node-2']
{
    .p-nav {
        background: @xf-contentBg;
    }
}

Ещё один вариант записи:
Less:
/* === COLOR OF NAVIGATION IN THE CATEGORIES === */
@catNode1Color: @xf-contentBg; // Цвет навигации в  первой категории

[data-template="category_view"]
{
    &[data-container-key='node-1'],
    &[data-container-key='node-2']
    {
        .p-nav {
            background: @catNode1Color;
        }
    }
}
/* === COLOR OF NAVIGATION IN THE CATEGORIES === */

Ещё один вариант записи и, вероятно, один из наиболее удобочитаемых (лично для меня по крайней мере).

Less:
/* === COLOR OF NAVIGATION IN THE CATEGORIES === */
@catNode1Color: @xf-contentBg; // Цвет навигации в  первой категории

.template-category_view
{
    &[data-container-key='node-1']
    {
        .p-nav {
            background: @catNode1Color;
        }
    }
}
/* === COLOR OF NAVIGATION IN THE CATEGORIES === */

Мог где-то тупануть и ошибиться, писал спросонья
 
data-container-key='node-2' и так далее, для всех форумов, так как у каждого узла свой id :) я посмотрел утром, не стал писать, как бы не вариант, там надо для созданной категории свой класс делать и что бы все узлы этой категории были с этим классом
 
Спасибо большое, теперь понимание приходит)

[data-template="category_view"], [data-container-key='node-1'], [data-container-key='node-2'] { .p-nav { background: @xf-contentBg; } }
Воспользовался данным методом, как по мне он проще всех других. работает на отлично)
 
Последнее редактирование модератором:
Статус
В этой теме нельзя размещать новые ответы.
Современный облачный хостинг провайдер | Aéza
Назад
Сверху Снизу