Wie kann ich das Logo in meinem benutzerdefinierten Design in Drupal 8 festlegen?
Ich kann sehen, dass Drupal nach der Datei logo.svg sucht. Ich habe eine PNG logo.png-Datei, die ich in Drupal 7 verwendet habe, und ich möchte sie gerne wiederverwenden. Ich kann das Logo nicht als Designeinstellung wie in Drupal 7 festlegen.
Gibt es einen Weg durch die Benutzeroberfläche oder den benutzerdefinierten Code im Design, um das Logo festzulegen?
8
theme-settings
Batigolix
quelle
quelle
Antworten:
Nach Drupal 8.6.x
Fügen
THEME.info.yml
Sie in Ihrer Zeile eine Zeile wielogo: logo.png
. Sie müssen den Cache löschen, damit Drupal diese Änderung erkennt.Vor Drupal 8.6.x
Die Standard-Logodatei ist jetzt
logo.svg
in Drupal 8 enthalten. Um jedochlogo.png
oder etwas anderes zu verwenden, müssen Sie in Ihrem Design benutzerdefinierte Einstellungsdefinitionen hinzufügen. Fügen Sie dazu die folgenden Zeilen zurconfig/install/THEME.settings.yml
Datei in Ihrem Themenordner hinzu (ersetzenTHEME
Sie sie durch den Computernamen Ihres Themas).Danach müssen Sie Ihr Theme neu installieren, falls es bereits installiert ist. Die Datei fordert Drupal auf, die angegebenen Einstellungen bei der Installation des Themes zu installieren. Wenn Sie das Design installieren, wird der Logo-
path
Parameter in der Datenbank gespeichert und das Standard-Logo wird durch denuse_default
Parameter deaktiviert .quelle
drush cim -y --partial --source=path/to/theme/config/install
. Ich habe das schon mehrmals benutzt und es funktioniert.\Drupal::service('config.installer')->installDefaultConfig('theme', 'theme_name');
Bei regulären Designs können Sie einfach zur Erscheinungsbildseite wechseln, die Registerkarte Einstellungen aufrufen und die Auswahl aufheben
Use the logo supplied by the theme
. Über das angezeigte Upload-Formular können Sie stattdessen ein anderes Bild hochladen.Wenn Sie das Thema tatsächlich erstellen und ein Standardbild bereitstellen möchten, lesen Sie bitte eine der anderen Antworten.
quelle
Fügen Sie in der MYTHEME.theme-Datei Ihres Designs den folgenden Code hinzu.
Legen Sie die Logo-Datei in das MYTHEME-Verzeichnis. Ersetzen Sie MYTHEME durch den Computernamen Ihres Themas.
quelle
Ab Drupal 8.6 kann Ihr Beitrage- oder benutzerdefiniertes Thema (sagen wir, es heißt mythemename) das Standardlogo leicht in seiner
mythemename.info.yml
Datei definieren:logo: images/acme-logo-stacked.png
Siehe https://www.drupal.org/docs/8/theming-drupal-8/defining-a-theme-with-an-infoyml-file#logo
Beachten Sie, dass die Logoeinstellung
use_default
true sein muss , um verwendet zu werden.quelle
In Drupal 8 muss das Standardlogo eine SVG-Datei sein. Sie können weiterhin eine PNG-Datei mit einem benutzerdefinierten Logo verwenden oder wenn das Design zusätzliche benutzerdefinierte Einstellungen enthält , um Nicht-SVG-Standardlogos zu unterstützen.
Dies ist, was in berichtet wird. Der Standard -Logotyp für Themen ist SVG , ein Änderungsdatensatz für Drupal 8.0.0-beta5.
Wie im Kommentar angegeben, können Sie in der Designeinstellungsdatei auch Folgendes verwenden.
Dies würde automatisch ein benutzerdefiniertes Logo verwenden, ohne es über die Benutzeroberfläche festzulegen.
quelle
In /your-drupal-folder/themes/THEME.theme Datei fügen Sie diese:
quelle
In Drupal 8.6 kann dies in Ihrer .info.yml-Datei wie folgt eingestellt werden:
Der Themenpfad wird automatisch zum Quellpfad hinzugefügt
quelle
Ich glaube nicht, dass Sie den Code ändern müssen. In einigen Fällen können Sie
Global settings
möglicherweise daran gehindert werden, das jeweilige Themenlogo zu übernehmen. Daher stellen Sie sicher ,LOGO IMAGE
die Globalen Einstellungen und Ihr Thema Logo sollte in Drupal 8 (einige Fällen) gleich sein.quelle
Eine einfache Möglichkeit besteht darin, das Logo in einem benutzerdefinierten Block zu platzieren.
Dies ist flexibel und besonders nützlich, wenn Sie möchten, dass das Logo in anderen Bereichen der Website anders angezeigt wird
quelle