Como posso definir o logotipo no meu tema personalizado no Drupal 8?
Percebo que o Drupal procura o arquivo logo.svg. Eu tenho um arquivo PNG logo.png que usei no Drupal 7 e gostaria de reutilizá-lo. Não consigo definir o logotipo como uma configuração de tema, como no Drupal 7.
Existe uma maneira de interface do usuário ou código personalizado no tema para definir o logotipo?
8
theme-settings
batigolix
fonte
fonte
Respostas:
Após o Drupal 8.6.x
No seu
THEME.info.yml
adicione uma linha comologo: logo.png
. Você precisa limpar o cache do Drupal para detectar essa alteração.Antes do Drupal 8.6.x
O arquivo de logotipo padrão agora se tornou
logo.svg
no Drupal 8. No entanto, para usarlogo.png
ou algo mais, você precisa adicionar definições de configurações personalizadas ao seu tema. Para fazer isso, adicione as seguintes linhas aoconfig/install/THEME.settings.yml
arquivo na pasta do tema (substituaTHEME
pelo nome da máquina do tema).Depois de fazer isso, você deve reinstalar o tema, se já estiver instalado. O arquivo pede ao Drupal para instalar as configurações fornecidas quando o tema é instalado. Portanto, quando você instala o tema, o
path
parâmetro logo é salvo no banco de dados e o logotipo padrão é desativado pelouse_default
parâmetro.fonte
drush cim -y --partial --source=path/to/theme/config/install
. Eu usei isso várias vezes e funciona.\Drupal::service('config.installer')->installDefaultConfig('theme', 'theme_name');
Para temas regulares, você pode simplesmente ir para a página de aparência, ir para a guia Configurações e desmarcar
Use the logo supplied by the theme
. O formulário de upload que aparece permite carregar outra imagem.Se você está realmente construindo o tema e deseja fornecer uma imagem padrão, consulte uma das outras respostas.
fonte
No arquivo MYTHEME.theme do seu tema, adicione o seguinte código.
Coloque o arquivo do logotipo no diretório MYTHEME. Substitua MYTHEME pelo nome da máquina do seu tema.
fonte
A partir do Drupal 8.6, o seu tema personalizado ou contrib (por exemplo, chamado mythemename) pode definir facilmente o logotipo padrão em seu
mythemename.info.yml
arquivo:logo: images/acme-logo-stacked.png
Vejo https://www.drupal.org/docs/8/theming-drupal-8/defining-a-theme-with-an-infoyml-file#logo
Observe que, para ser usada, a
use_default
configuração do logotipo deve ser verdadeira.fonte
No Drupal 8, o logotipo padrão precisa ser um arquivo SVG. Você ainda pode usar um arquivo PNG com um logotipo personalizado ou se o tema tiver configurações personalizadas extras para dar suporte a logotipos padrão que não sejam SVG.
Isto é o que relatado em O tipo de logotipo padrão para temas é SVG , um registro de alterações para o Drupal 8.0.0-beta5.
Conforme relatado no comentário, você também pode usar o seguinte no arquivo de configurações do tema.
Isso usaria automaticamente um logotipo personalizado sem defini-lo na interface do usuário.
fonte
No arquivo /your-drupal-folder/themes/THEME.theme, adicione isto:
fonte
No Drupal 8.6, isso pode ser definido no seu arquivo .info.yml da seguinte maneira:
o caminho do tema é adicionado automaticamente ao caminho src
fonte
Eu não acho que você precise alterar o código. Em alguns casos,
Global settings
pode estar impedindo você de usar o respectivo logotipo do tema. Por isso, certifique-seLOGO IMAGE
de configurações globais e seu logotipo tema deve ser o mesmo em Drupal 8 (alguns casos).fonte
Uma opção simples é colocar o logotipo em um bloco personalizado.
isso é flexível e particularmente útil se você deseja que o logotipo apareça muito diferente em outras seções do site
fonte