Как я могу установить логотип в моей пользовательской теме в Drupal 8?
Я вижу, что Drupal ищет файл logo.svg. У меня есть файл PNG logo.png, который я использовал в Drupal 7, и я хотел бы использовать его повторно. Я не могу установить логотип в качестве настройки темы, как в Drupal 7.
Есть ли способ через UI или пользовательский код в теме установить логотип?
8
theme-settings
batigolix
источник
источник
Ответы:
После Drupal 8.6.x
В вашем
THEME.info.yml
добавить строку, какlogo: logo.png
. Вам нужно очистить кеш для Drupal, чтобы обнаружить это изменение.До Drupal 8.6.x
Файл логотипа по умолчанию теперь стал
logo.svg
в Drupal 8. Однако, чтобы использовать егоlogo.png
или что-то еще, вам нужно добавить определение пользовательских настроек в вашу тему. Для этого добавьте следующие строки вconfig/install/THEME.settings.yml
файл в папке вашей темы (заменитеTHEME
на имя машины вашей темы).После этого вы должны переустановить тему, если она уже установлена. Файл просит Drupal установить указанные параметры при установке темы. Следовательно, при установке темы
path
параметр логотипа сохраняется в базе данных, а параметр по умолчанию отключаетсяuse_default
параметром.источник
drush cim -y --partial --source=path/to/theme/config/install
. Я использовал это несколько раз, и это работает.\Drupal::service('config.installer')->installDefaultConfig('theme', 'theme_name');
Для обычных тем вы можете просто перейти на страницу внешнего вида, перейти на вкладку настроек и отменить выбор
Use the logo supplied by the theme
. Появившаяся форма загрузки позволяет загружать другое изображение.Если вы на самом деле создаете тему и хотите предоставить изображение по умолчанию, обратитесь к одному из других ответов.
источник
В файле MYTHEME.theme вашей темы добавьте следующий код.
Поместите файл логотипа в каталог MYTHEME. Замените МИФЕМ на имя машины вашей темы.
источник
Начиная с Drupal 8.6 ваш вклад или пользовательская тема (скажем, она называется mythemename) может легко определять логотип по умолчанию в своем
mythemename.info.yml
файле:logo: images/acme-logo-stacked.png
См. Https://www.drupal.org/docs/8/theming-drupal-8/defining-a-theme-with-an-infoyml-file#logo.
Обратите внимание, что для использования
use_default
настройки логотипа должно быть верно.источник
В Drupal 8 логотипом по умолчанию должен быть файл SVG. Вы по-прежнему можете использовать файл PNG с пользовательским логотипом или если тема имеет дополнительные пользовательские настройки для поддержки логотипов, отличных от SVG.
Это то, что сообщается в Типе логотипа по умолчанию для тем - SVG , запись изменений для Drupal 8.0.0-beta5.
Как отмечается в комментарии, вы также можете использовать следующее в файле настроек темы.
Это будет автоматически использовать пользовательский логотип без настройки его из пользовательского интерфейса.
источник
В файле /your-drupal-folder/themes/THEME.theme добавьте это:
источник
В Drupal 8.6 это может быть установлено в вашем файле .info.yml следующим образом:
путь к теме автоматически добавляется в путь src
источник
Я не думаю, что вам нужно менять код. В некоторых случаях
Global settings
может быть остановлено использование логотипа соответствующей темы. Поэтому убедитесь, что в Drupal 8 логотипLOGO IMAGE
« Глобальные настройки» и логотип вашей темы должны быть одинаковыми (в некоторых случаях).источник
Простой вариант - разместить логотип в пользовательском блоке.
это гибко и особенно полезно, если вы хотите, чтобы этот логотип отображался по-другому в других разделах сайта.
источник