Drupal 8 bietet standardmäßig einige Blöcke. Z.B. Site Branding
, Main Navigation
, Powered by Drupal
, Search
Usw.
Ich habe ein Thema mit Site branding
& Main Navigation
benannten Regionen erstellt, in denen entsprechende Blöcke platziert werden können.
Wenn ich mein Thema aktiviere, werden Site Branding
& Main Navigation
Blöcke standardmäßig in Header
& First Sidebar
Region meines Themas platziert.
Wie kann ich Site Branding
& Main Navigation
Blöcke bei der Theme-Installation standardmäßig in ihren jeweiligen Regionen platzieren?
blocks
8
regions
theme-settings
kmdhrm
quelle
quelle
Antworten:
Zunächst sollten Sie jeden gewünschten Blockbereich manuell ändern
Administration>Structure>Block layout Tab
und dann zur Konfigurations-Exportfunktion gehen, umAdministration>Configuration>Development>Configuration synchronization>Export Tab>Single item
die Blockeinstellungen für Ihr Thema zu exportieren.Dann sollten Sie sich die generierten YAML-Dateien ansehen und diese in einem neuen Ordner innerhalb Ihres Themas unter ablegen
/config/install
. Anschließend haben Sie das Design deinstalliert und als Standard neu installiert.Zusammenfassung:
1. Installieren
MY_THEME
2. Platzieren Sie die Blöcke in den gewünschten Regionen.
3. Exportieren Sie die Konfigurationsdateien und entfernen Sie sie
uuid
und den Kernkonfigurations-Hash,z. B.
Site Branding
dieblock.block.MY_THEME_branding.yml
BlockdateiMY_THEME/config/optional
oder imMY_THEME/config/install
Verzeichnis (wenn Sie absolut sicher sind, dass alle Abhängigkeiten erfüllt sind).MY_THEME
und löschen Sie alle CachesMY_THEME
erneutquelle
Die Antwort gefunden:
Dies kann durch Hinzufügen einer yml-Datei (Blockinstanz) für jeden Block im
theme/config/install
Ordner erfolgen.Um beispielsweise den
Site Branding
Block (Maschinennamesystem_branding_block
) derSite Branding
Region (Maschinennamesite_branding
) zuzuweisen, fügen Sie den folgenden Code in dieconfig/install/block.block.THEME_NAME_branding.yml
Datei ein:quelle