Есть тип материала "Новость". Нужно чтобы контент менеджер мог выбирать цвет у конкретной категории новости в режиме создания/редактирования новости, выбрав нужный чекбокс с цветом или выбрав нужный цвет в dropdown списке и соответственно с таким цветом категория отображалась на странице. Как это можно реализовать?
Буду очень благодарен за ссылку на какую-нибудь статью или видео где что-то такое реализовано.
Как реализовать выбор цвета термина таксономии в режиме создания/редактирования типа материала?
Главные вкладки
Лучший ответ
Вопросы:
- Какая версия Drupal?
- Варианты цвета фиксированные или должна быть возможность выбрать любой цвет?
- Цвет категории задается для каждой ноды отдельно или конкретная категория в разных нодах всегда определенного цвета?
--
Думаю что-то из этого попробовать:
1. Создаем словарь для цветов. Добавляем термины с названиями цветов. Добавляем в ноду поле для выбора термина из словаря с цветами. В шаблонах назначаем класс с названием выбранного термина (цвета). В css прописываем каким цветом красить текст с определенным классом.
2. Добавляем в ноду поле для выбора цвета. В шаблонах для категории прописываем в инлайн-стиле значение выбранного цвета.
3. В словарь с категориями добавляем поле для выбора цвета (как в варианте 1 или 2). Настраиваем цвета для категорий. Затем для категорий назначаем цвет как в варианте 1 или 2.
Комментарии
Вопросы:
--
Думаю что-то из этого попробовать:
1. Создаем словарь для цветов. Добавляем термины с названиями цветов. Добавляем в ноду поле для выбора термина из словаря с цветами. В шаблонах назначаем класс с названием выбранного термина (цвета). В css прописываем каким цветом красить текст с определенным классом.
2. Добавляем в ноду поле для выбора цвета. В шаблонах для категории прописываем в инлайн-стиле значение выбранного цвета.
3. В словарь с категориями добавляем поле для выбора цвета (как в варианте 1 или 2). Настраиваем цвета для категорий. Затем для категорий назначаем цвет как в варианте 1 или 2.
1. 9
Второй и третий вопрос нужно будет мне уточнить завтра. Но думаю что:
2. Должно быть около 10-15 цветов.
3. Конкретная категория в разных нодах всегда определенного цвета.
Пример реализации в шаблоне представления
views-view-unformatted.html.twig
для фиксированной палитры, значения цветов которой заданы в css/scss. Названия цветов — термины на английском языке. Можно сделать названия и по-русски, что может потребовать дополнительные усилия.<h3>{{ title }}</h3>
{% endif %}
{% for row in rows %}
{% set color_theme = row.content['#row']._entity.field_color_theme.value %}
{% set color_theme_name = color_theme ? 'color-theme--' ~ row.content['#row']._entity.field_color_theme.entity.name.value|lower %}
{%
set row_classes = [
'portfolio-card',
color_theme_name
]
%}
<article{{ row.attributes.addClass(row_classes) }}>
{{- row.content -}}
</article>
{% endfor %}
А какой тип поля нужно выбрать? Reference: Taxonomy term?
В шаблонах чего? В шаблоне моего Content type? Или в каких шаблонах?
Да, поле вида «Reference: Taxonomy term».
В шаблоне, где можно/нужно будет вписать логику назначения цвета категории. Может, шаблон content type, может шаблон поля.