Выбор цвета категории должен быть доступен даже при стиле «none»

В настройках категории я вижу сообщение: «Вы не можете выбрать цвета, так как для категории выбран стиль «нет». Однако эта категория используется компонентом темы Category Icons, который отлично работает со стилем «нет».

Моя текущая обходная мера — изменить настройку стиля, быстро задать цвет категории, а затем быстро вернуть стиль обратно. Но это довольно глупо. Пожалуйста, просто разрешите задавать цвет (возможно, с примечанием, что цвет не изменится, если тема не использует его, вместо того чтобы скрывать настройку). Спасибо!

2 лайка

В компоненте «Иконки категорий» вы можете использовать HEX-цвет для иконки. Цвет иконки по умолчанию совпадает с цветом значка категории только при использовании специального ключевых слова «categoryColor». Есть ли какая-то причина, по которой вы не можете использовать HEX-значение в настройках компонента темы?

1 лайк

Мне гораздо удобнее управлять цветами категорий в настройках категорий, а не в списке настроек компонентов — поэтому categoryColor идеально подходит. (И, как отмечалось, он на самом деле работает со стилем «none», мне просто не дают возможность его редактировать.)

1 лайк

Это действительно работает, но я колеблюсь вносить изменения в ядро, когда для категорий установлен стиль none, учитывая, что цвета в настройках категорий будут использоваться только если установлен этот компонент темы и каждая строка в его настройках по умолчанию установлена на categoryColor. Иными словами, это очень специфический случай использования.

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

1 лайк

Возможно, это компонент темы или любой другой, который работает с цветом категории, верно? Например, Category Banners или Colorful Categories. Так что, думаю, это не такой уж узкий случай использования. И не во всех из них есть обходной путь в виде опции конфигурации для компонента темы.

2 лайка

О, кстати — я хочу выбирать из палитры, и чтобы индикаторы показывали, какие цвета уже заняты. Это очень удобно! С помощью конфигурации шестнадцатеричных цветов компонента так сделать нельзя.

2 лайка

Я также хотел бы отметить, что на самом деле это не такой уж специфичный сценарий.

Как уже указал @mattdm, цвет используется не только в бейджах или иконках. Его можно применять в баннерах и практически в любых элементах страницы при использовании компонента «Цветные категории». Ещё одним преимуществом использования цветов непосредственно в настройках категорий является то, что это позволяет менеджерам сообщества самостоятельно изменять цвета, используемые в теме, вместо того чтобы обращаться к дизайнеру темы только для этого.

В настоящее время, если вы не хотите использовать основные бейджи с цветами, но при этом хотите применять цвета категорий в других элементах темы, единственный способ изменить цвет категории — включить другой стиль бейджа, изменить цвет, а затем снова отключить стиль бейджа, выбрав «нет».

Я видел, что @codinghorror упоминал эту проблему в другой теме:

Но, как уже сказано, это может иметь множество эффектов в теме. Кроме того, уже есть подсказка, в которой говорится:

Скриншот от 2022-02-21 09-35-51

Так почему бы не оставить настройку доступной и вместо этого добавить подсказку вроде:

:warning: Возможно, вы не увидите цвета, потому что для категории выбран стиль «нет».

2 лайка

Сам заголовок говорит обо всём.

…за исключением того, что выбранные цвета отображаются на странице категорий, даже если стиль категорий установлен в «none». Поэтому мне приходится постоянно менять стиль категорий (box, bullet, bar), задавать цвет для новой категории, а затем снова возвращать стиль в «none» :slight_smile:

1 лайк

Вы всё ещё хотите, чтобы эти цвета отображались на странице категорий, или предпочитаете, чтобы их не было вовсе?

Я склоняюсь к их удалению, чтобы более полно учесть ваше пожелание «ничего»!

1 лайк

Я, честно говоря, об этом не думал. Думаю, если бы у меня в штате был настоящий дизайнер, он бы подсказал, о чём мне стоит задуматься. ¯\_(ツ)_/¯

1 лайк

Я думаю, что согласен с Мэтью и его автором темы. Я рассматриваю возможность использования цвета категории в качестве фона для события в предстоящем календаре, но это может быть плохой практикой…

Я бы настоятельно предпочёл оставить цвета. То, что установлено в значение «none», — это category style, который описывается как «Визуальный стиль значков категорий». Таким образом, «none» означает просто «без значков» — я не думаю, что это подразумевает «без цвета».

Я упоминал, что значки — это единственное место, где используются цвета в стандартной теме, но, похоже, я ошибался — страница Категории также использует их (в виде полосы вдоль левой стороны категории). (Не сошёл ли я с ума?)

Думаю, для согласованности, возможно, эту настройку стоит переименовать, например, в category label style? [1]


  1. Не category badge style, так как «значки» — это отдельная вещь и уже существуют ↩︎

2 лайка

Думаю, ничего страшного не случится, если мы вернём пикер в стиль «none» и обновим сообщение, чтобы оно гласило примерно следующее: «При настройке стиля значка категории на «none» цвета категорий будут видны только в том случае, если это предусмотрено темой».

5 лайков

Почему бы просто не использовать другой стиль категории и добавить компонент для удаления оформления рамки? Это должно быть тривиально — всего несколько правил CSS.

Ну, я полагаю? Но зачем прибегать к такому странному обходному пути, где существующая настройка воссоздаётся через (потенциально ненадёжные и, безусловно, неподдерживаемые) правила CSS, только чтобы избежать её неожиданного и удивительного побочного эффекта на другую, не связанную с ней настройку конфигурации?

Я не вижу в этом проблемы с поддержкой — мы можем сделать этот компонент официальным, тем более что, похоже, он нужен только для темизации?

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

Почему бы просто не разрешить опцию настройки цвета оставаться видимой, даже если другое setting находится в конфигурации, которая не использует цвет, хотя другие элементы её используют?

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

Возможно, мы захотим полностью отказаться от этой настройки.

Хм, хорошо — это полезный контекст. Но если подумать, это лишь подтверждает, что удаление этого варианта имеет ещё больше смысла, учитывая, что даже не о чем беспокоиться в случае «нет». Просто сделайте цвет категории настройкой для всех мест, где он используется, и не переживайте, если выбрано одно место, где он может не применяться?

Кстати, я сам использую «нет» с иконками категорий, и, на мой взгляд, это также неплохо будет работать в боковой панели.

Возможно, простое решение с нашей стороны — сделать этот компонент совместимым со стилем категории «маркеры»: скрывать маркер, если определена иконка.

3 лайка