Jak ustawić logo w niestandardowym motywie w Drupal 8?
Widzę, że Drupal szuka pliku logo.svg. Mam plik PNG logo.png, którego użyłem w Drupal 7 i chciałbym go ponownie użyć. Nie mogę ustawić logo jako ustawienia motywu, tak jak w Drupal 7.
Czy istnieje sposób w interfejsie użytkownika lub niestandardowym kodzie w motywie, aby ustawić logo?
8
theme-settings
batigolix
źródło
źródło
Odpowiedzi:
Po Drupal 8.6.x
W swoim
THEME.info.yml
dodaj linię jaklogo: logo.png
. Musisz wyczyścić pamięć podręczną, aby Drupal mógł wykryć tę zmianę.Przed Drupalem 8.6.x
Domyślny plik logo stał się teraz
logo.svg
w Drupal 8. Aby jednak użyćlogo.png
lub czegoś innego, musisz dodać niestandardową definicję ustawień w swoim motywie. Aby to zrobić, dodaj następujące wiersze doconfig/install/THEME.settings.yml
pliku w folderze motywu (zamieńTHEME
na nazwę komputera motywu).Po wykonaniu tej czynności musisz ponownie zainstalować motyw, jeśli jest już zainstalowany. Plik prosi Drupala o zainstalowanie podanych ustawień po zainstalowaniu motywu. Dlatego podczas instalowania motywu
path
parametr logo jest zapisywany w bazie danych, a domyślne logo jest wyłączane przezuse_default
parametr.źródło
drush cim -y --partial --source=path/to/theme/config/install
. Użyłem tego kilka razy i działa.\Drupal::service('config.installer')->installDefaultConfig('theme', 'theme_name');
W przypadku zwykłych motywów możesz po prostu przejść do strony wyglądu, przejść do karty ustawień i odznaczyć
Use the logo supplied by the theme
. Wyświetlony formularz przesyłania pozwala zamiast tego przesłać inny obraz.Jeśli faktycznie tworzysz motyw i chcesz podać domyślny obraz, zapoznaj się z jedną z pozostałych odpowiedzi.
źródło
W pliku MYTHEME.theme motywu dodaj następujący kod.
Umieść plik logo w katalogu MYTHEME. Zamień MYTHEME na nazwę komputera swojego motywu.
źródło
Począwszy od Drupal 8.6, Twój motyw contrib lub niestandardowy (powiedzmy, że nazywa się mythemename) może łatwo zdefiniować domyślne logo w
mythemename.info.yml
pliku:logo: images/acme-logo-stacked.png
Zobacz https://www.drupal.org/docs/8/theming-drupal-8/defining-a-theme-with-an-infoyml-file#logo
Pamiętaj, że aby można było użyć
use_default
ustawienia logo , musi być prawdziwe.źródło
W Drupal 8 domyślnym logo musi być plik SVG. Nadal możesz używać pliku PNG z niestandardowym logo lub jeśli motyw ma dodatkowe ustawienia niestandardowe, aby zapewnić obsługę domyślnych logo innych niż SVG.
Zgłoszono to w Domyślnym typem logo dla motywów jest SVG , rekord zmian dla Drupal 8.0.0-beta5.
Jak podano w komentarzu, możesz również użyć następujących elementów w pliku ustawień motywu.
To automatycznie użyłoby niestandardowego logo bez ustawiania go z interfejsu użytkownika.
źródło
W pliku /your-drupal-folder/themes/THEME.theme dodaj:
źródło
W Drupal 8.6 można to ustawić w pliku .info.yml w następujący sposób:
ścieżka motywu jest automatycznie dodawana do ścieżki src
źródło
Nie sądzę, że musisz zmienić kod. W niektórych przypadkach
Global settings
może powstrzymywać Cię przed zabraniem odpowiedniego logo motywu. Dlatego upewnij się, żeLOGO IMAGE
wśród Ustawienia globalne i Twój motyw logo powinien być taki sam w Drupal 8 (niektórych przypadkach).źródło
Prostą opcją jest umieszczenie logo w niestandardowym bloku.
jest to elastyczne i szczególnie przydatne, jeśli chcesz, aby logo wyświetlało się inaczej w innych sekcjach witryny
źródło