O Drupal 8 fornece alguns blocos por padrão. Por exemplo. Site Branding
, Main Navigation
, Powered by Drupal
, Search
Etc.
Eu criei um tema que tem Site branding
& Main Navigation
nomeou regiões nas quais os blocos correspondentes podem ser colocados.
Quando eu ativo o meu tema, Site Branding
& Main Navigation
blocos são colocados na Header
& First Sidebar
região do meu tema por padrão, respectivamente.
Como posso colocar Site Branding
e Main Navigation
bloquear suas respectivas regiões por padrão na instalação do tema?
blocks
8
regions
theme-settings
kmdhrm
fonte
fonte
Respostas:
Primeiro, você deve alterar manualmente cada região de bloco desejada em que deseja
Administration>Structure>Block layout Tab
e, em seguida, acessar a função de exportação de configuração em:Administration>Configuration>Development>Configuration synchronization>Export Tab>Single item
para exportar cada uma das configurações de bloco do seu tema.Em seguida, verifique os arquivos YAML gerados e coloque-os em uma nova pasta dentro do seu tema em
/config/install
. você desinstalou o tema e o reinstalou como padrão.Resumo:
1. Instale
MY_THEME
2. Coloque os blocos nas regiões desejadas
3. Exporte os arquivos de configuração e remova-os
uuid
e o hash de configuração principal,por exemplo
Site Branding
,block.block.MY_THEME_branding.yml
arquivo de blocoMY_THEME/config/optional
ou oMY_THEME/config/install
diretório (se tiver certeza absoluta de que todas as dependências foram atendidas)MY_THEME
e limpe todos os cachesMY_THEME
novamentefonte
Encontrou a resposta:
Isso pode ser feito adicionando um arquivo yml (instância de bloco) para cada bloco na
theme/config/install
pasta.Por exemplo, para atribuir o
Site Branding
bloco (nome da máquinasystem_branding_block
) àSite Branding
região (nome da máquinasite_branding
), adicione o seguinte código noconfig/install/block.block.THEME_NAME_branding.yml
arquivo:fonte