Less для кастомных иконок подфорумов (категорий, страниц, ссылок)

Less для кастомных иконок подфорумов (категорий, страниц, ссылок)

Mirovinger

Администрация
Сообщения
23,345
Решения
80
Реакции
58,266
Баллы
33,475
Mirovinger добавил(а) новый ресурс:

Less для кастомных иконок подфорумов (категорий, страниц, ссылок) - Кастомные иконки подфорумов (категорий, страниц, ссылок)

Для изменения иконок Font Awesome у подразделов, достаточно добавить в extra.less такой код.
Less:
.fox-subNodeLink-icons(@subNode-id; @readIcons; @unreadIcons: false; @faType: false;) {
    .subNodeLink[href$=".@{subNode-id}/"] {
        &:before {
            & when (@faType = Brands) {
                .m-faBase('Brands');
            }

            .subNodeLink--forum&,
            .subNodeLink--category& {
                content: "\@{readIcons}";

                &...

Узнать больше об этом ресурсе...
 
Ответ, на вопрос из данной темы, пока в тестовом режиме, позже добавлю в сам ресурс.
Что бы использовать и изображения, а не только FA-иконки, код будет выглядеть примерно так.

Less:
.fox-subNodeLink-icons(@subNode-id; @readIcons; @unreadIcons: false; @faType: false) {
    .subNodeLink[href$=".@{subNode-id}/"] {
        &:before {
            & when (@faType = Brands) {
                .m-faBase('Brands');
            }

            .subNodeLink--forum&,
            .subNodeLink--category& {
                & when (isurl(@readIcons)) {
                    content: @readIcons;
                    position: relative;
                    top: 3px;
                }
                
                & when not (isurl(@readIcons)) {
                    content: "\@{readIcons}";
                }

                & when not (@unreadIcons = false) {
                    .subNodeLink--unread& {
                        & when (isurl(@unreadIcons)) {
                            content: @unreadIcons;
                            position: relative;
                            top: 3px;
                        }

                        & when not (isurl(@unreadIcons)) {
                            content: "\@{unreadIcons}";
                        }
                    }
                }
            }

            .subNodeLink--page& {
                & when (isurl(@unreadIcons)) {
                    content: @unreadIcons;                           
                    position: relative;
                    top: 3px;
                }
                
                & when not (isurl(@unreadIcons)) {
                    content: "\@{unreadIcons}";
                }
            }

            .subNodeLink--link& {
                & when (isurl(@unreadIcons)) {
                    content: @unreadIcons;
                    position: relative;
                    top: 3px;
                }
                
                & when not (isurl(@unreadIcons)) {
                    content: "\@{unreadIcons}";
                }
            }
        }
    }
}

.fox-subNodeLink-icons(103; f297; f296; Brands);
.fox-subNodeLink-icons(100; url(https://img-fotki.yandex.ru/get/9508/5091629.99/0_7d7df_d244a8e3_orig.png); url(https://img-fotki.yandex.ru/get/9508/5091629.99/0_7d7df_d244a8e3_orig.png); Brands);
Ну и результат.
1595942684979.png
 
Что бы использовать и изображения, а не только FA-иконки, код будет выглядеть примерно так.
Еще бы добавить настройки, чтоб кастомная иконка сразу оптимизировалась до нужного размера. Например, указать адрес иконки родительского форума, а скрипт уже сам в сабфоруме адаптивно уменьшит.
 
Mirovinger, Использую UI.X стиль, вид подразделов развернутый(не скрытые как на скрине)
этот код не подходит
lr98QhM.png
 
Попробуйте данный код, у Вас отсутствуют названия в заголовках, по этому слегка другая структура ссылки.
Less:
.fox-subNodeLink-icons(@subNode-id; @readIcons; @unreadIcons: false; @faType: false) {
    .subNodeLink[href$="/@{subNode-id}/"] {
        .subNodeLink-icon:before {
            & when (@faType = Brands) {
                .m-faBase('Brands');
            }

            .subNodeLink--forum&,
            .subNodeLink--category& {
                content: "\@{readIcons}";

                & when not (@unreadIcons = false) {
                    .subNodeLink--unread& {
                        content: "\@{unreadIcons}";
                    }
                }
            }

            .subNodeLink--page& {
                content: "\@{unreadIcons}";
            }

            .subNodeLink--link& {
                content: "\@{unreadIcons}";
            }
        }
    }
}

.fox-subNodeLink-icons(63; f297; f296; Brands);
 
Не подскажите как сделать эти иконки цветными ?
 
Что подразумевается под цветными, хотите разного цвета сделать, в принципе можно скорректировать чуть код миксина и можно будет и цвет передавать, чуть позже посмотрю и добавлю.
 
Что подразумевается под цветными, хотите разного цвета сделать, в принципе можно скорректировать чуть код миксина и можно будет и цвет передавать, чуть позже посмотрю и добавлю.

Ну да что бы можно было задать цвет иконки, спасибо буду ожидать
 
Почему может не примениться?

1664615724421.png

Стиль Aperture (Dark) 2.2.6
 
В этом стиле может, ссылку в личку на форум, там автор местами делает свои правки, по этому гляну по месту.

Да, вот под этот стиль миксин, по сути ничего не изменилось, просто автор использует свои иконки и мы будем их переопределять как он.

Less:
.fox-subNodeLink-icons(@subNode-id; @readIcons; @unreadIcons: false; @faColor: false; @faType: false) {
    .subNodeLink[href$=".@{subNode-id}/"],
    .subNodeLink[href$="/@{subNode-id}/"] {
        &:before {
            & when (@faType = Brands) {
                .m-faBase('Brands');
            }

            .subNodeLink--forum&,
            .subNodeLink--category& {
                content: "\@{readIcons}";
              
                & when (iscolor(@faColor)) {
                    color: @faColor;
                }

                & when not (@unreadIcons = false) {
                    .subNodeLink--unread& {
                        content: "\@{unreadIcons}";
                    }
                }
            }

            .subNodeLink--page& {
                content: "\@{unreadIcons}";

                & when (iscolor(@faColor)) {
                    color: @faColor;
                }
            }

            .subNodeLink--link& {
                content: "\@{unreadIcons}";
              
                & when (iscolor(@faColor)) {
                    color: @faColor;
                }
            }
        }
    }
}

.fox-subNodeLink-icons(103; f297; f296; red; Brands);
 
Последнее редактирование:
Mirovinger, если зайти потом в главный форум, то иконок нету этих, отображаються только на главной.
 
Вообще должно и там работать, код там идентичный.
 
Я написал, что работает, так как проверил, код заточен на подфорумы, что логично и в самих форума работать не будет, это нужно гибрид делать миксина, подумаем, как будет время.
 
  • Мне нравится
Реакции: VGK
Mirovinger, Добрый день, а как убрать вообще иконки подфорумов, до обновления 2.2.12 использовал такой код
Код:
.subNodeLink.subNodeLink--forum::before, .subNodeLink.subNodeLink--category::before {
    content: '';
    font-weight: 300;
}
 
Последнее редактирование:
Что то я не понял, куда добавлять этот код .fox-subNodeLink-icons(103; f297; f296; red; Brands);
 
Я добавил, но ничего не изменилось.
 
pumba560, а сам код из ресурса то добавлен, чтобы указанная конструкция работала?
 
Современный облачный хостинг провайдер | Aéza
Назад
Сверху Снизу