Em page.html.twig
você terá uma {{ base_path }}
variável de trabalho . Por que ele não está disponível em todos os modelos, não faço ideia. Como eu acho que deveria ser e todo o resto parece confuso, minha solução preferida é fazer exatamente como o Drupal faz na função de página de pré-processo para qualquer lugar que eu precisar.
Para {{ base_path }}
disponibilizar para bloquear modelos em um tema chamado exemplo, adicione este código ao example.theme
arquivo:
/**
* Implements hook_preprocess_block().
*/
function example_preprocess_block(&$variables) {
$variables['base_path'] = base_path();
}
Conforme observado na resposta aceita fornecida pelo MPD, ao obter o URL de um nó ou de outra entidade, existem métodos para fazer tudo isso por você.
No entanto, existem razões para obter o caminho_ base, como ao exibir imagens que vivem na sua pasta de temas. {{ directory }}
fornece o caminho para a pasta do tema, mas deixa de fora o caminho base (geralmente apenas um / mas para preservar o funcionamento adequado do Drupal de um subdiretório de um domínio que não deve ser codificado). Em page.html.twig
ou em qualquer modelo que tenha o pré-processador acima, isso funcionará para esse fim:
<img src="{{ base_path ~ directory }}/images/nsf1.svg"
alt="National Science Foundation logo" height="80" width="80" />
E, claro, a resposta de Shawn Conn funciona bem se você pode suprimir seu desejo por modelos bonitos, mas eu não consegui.