В настройках категории я вижу сообщение: «Вы не можете выбрать цвета, так как для категории выбран стиль «нет». Однако эта категория используется компонентом темы Category Icons, который отлично работает со стилем «нет».
Моя текущая обходная мера — изменить настройку стиля, быстро задать цвет категории, а затем быстро вернуть стиль обратно. Но это довольно глупо. Пожалуйста, просто разрешите задавать цвет (возможно, с примечанием, что цвет не изменится, если тема не использует его, вместо того чтобы скрывать настройку). Спасибо!
В компоненте «Иконки категорий» вы можете использовать HEX-цвет для иконки. Цвет иконки по умолчанию совпадает с цветом значка категории только при использовании специального ключевых слова «categoryColor». Есть ли какая-то причина, по которой вы не можете использовать HEX-значение в настройках компонента темы?
Мне гораздо удобнее управлять цветами категорий в настройках категорий, а не в списке настроек компонентов — поэтому categoryColor идеально подходит. (И, как отмечалось, он на самом деле работает со стилем «none», мне просто не дают возможность его редактировать.)
Это действительно работает, но я колеблюсь вносить изменения в ядро, когда для категорий установлен стиль none, учитывая, что цвета в настройках категорий будут использоваться только если установлен этот компонент темы и каждая строка в его настройках по умолчанию установлена на categoryColor. Иными словами, это очень специфический случай использования.
Кроме того, предпросмотр на экране редактирования категорий в ядре не включает иконку компонента темы, поэтому при выборе цвета пользователь не увидит никаких изменений в предпросмотре.
Возможно, это компонент темы или любой другой, который работает с цветом категории, верно? Например, Category Banners или Colorful Categories. Так что, думаю, это не такой уж узкий случай использования. И не во всех из них есть обходной путь в виде опции конфигурации для компонента темы.
О, кстати — я хочу выбирать из палитры, и чтобы индикаторы показывали, какие цвета уже заняты. Это очень удобно! С помощью конфигурации шестнадцатеричных цветов компонента так сделать нельзя.
Я также хотел бы отметить, что на самом деле это не такой уж специфичный сценарий.
Как уже указал @mattdm, цвет используется не только в бейджах или иконках. Его можно применять в баннерах и практически в любых элементах страницы при использовании компонента «Цветные категории». Ещё одним преимуществом использования цветов непосредственно в настройках категорий является то, что это позволяет менеджерам сообщества самостоятельно изменять цвета, используемые в теме, вместо того чтобы обращаться к дизайнеру темы только для этого.
В настоящее время, если вы не хотите использовать основные бейджи с цветами, но при этом хотите применять цвета категорий в других элементах темы, единственный способ изменить цвет категории — включить другой стиль бейджа, изменить цвет, а затем снова отключить стиль бейджа, выбрав «нет».
Я видел, что @codinghorror упоминал эту проблему в другой теме:
Но, как уже сказано, это может иметь множество эффектов в теме. Кроме того, уже есть подсказка, в которой говорится:
Так почему бы не оставить настройку доступной и вместо этого добавить подсказку вроде:
Возможно, вы не увидите цвета, потому что для категории выбран стиль «нет».
…за исключением того, что выбранные цвета отображаются на странице категорий, даже если стиль категорий установлен в «none». Поэтому мне приходится постоянно менять стиль категорий (box, bullet, bar), задавать цвет для новой категории, а затем снова возвращать стиль в «none»
Я думаю, что согласен с Мэтью и его автором темы. Я рассматриваю возможность использования цвета категории в качестве фона для события в предстоящем календаре, но это может быть плохой практикой…
Я бы настоятельно предпочёл оставить цвета. То, что установлено в значение «none», — это category style, который описывается как «Визуальный стиль значков категорий». Таким образом, «none» означает просто «без значков» — я не думаю, что это подразумевает «без цвета».
Я упоминал, что значки — это единственное место, где используются цвета в стандартной теме, но, похоже, я ошибался — страница Категории также использует их (в виде полосы вдоль левой стороны категории). (Не сошёл ли я с ума?)
Думаю, для согласованности, возможно, эту настройку стоит переименовать, например, в category label style? [1]
Не category badge style, так как «значки» — это отдельная вещь и уже существуют ↩︎
Думаю, ничего страшного не случится, если мы вернём пикер в стиль «none» и обновим сообщение, чтобы оно гласило примерно следующее: «При настройке стиля значка категории на «none» цвета категорий будут видны только в том случае, если это предусмотрено темой».
Почему бы просто не использовать другой стиль категории и добавить компонент для удаления оформления рамки? Это должно быть тривиально — всего несколько правил CSS.
Ну, я полагаю? Но зачем прибегать к такому странному обходному пути, где существующая настройка воссоздаётся через (потенциально ненадёжные и, безусловно, неподдерживаемые) правила CSS, только чтобы избежать её неожиданного и удивительного побочного эффекта на другую, не связанную с ней настройку конфигурации?
Даже в таком случае это довольно эзотерично. Откуда кому-то вообще знать, что нужно искать компонент темы для этого?
Почему бы просто не разрешить опцию настройки цвета оставаться видимой, даже если другое setting находится в конфигурации, которая не использует цвет, хотя другие элементы её используют?
Сложность в том, что в долгосрочной перспективе, вероятно, стоит оставить поддержку в ядре только для стиля маркеров, так как это единственный дизайн, согласованный с боковой панелью.
Возможно, мы захотим полностью отказаться от этой настройки.
Хм, хорошо — это полезный контекст. Но если подумать, это лишь подтверждает, что удаление этого варианта имеет ещё больше смысла, учитывая, что даже не о чем беспокоиться в случае «нет». Просто сделайте цвет категории настройкой для всех мест, где он используется, и не переживайте, если выбрано одно место, где он может не применяться?
Кстати, я сам использую «нет» с иконками категорий, и, на мой взгляд, это также неплохо будет работать в боковой панели.