Gelen page.html.twig
sen will bir çalışma var {{ base_path }}
değişkeni. Neden her şablonda mevcut değil, hiçbir fikrim yok. Bence olması gerektiği ve her şey dağınık görünüyor gibi, benim tercih edilen çözüm tam olarak Drupal ihtiyacım olan herhangi bir yer için önişleme sayfa işlevinde yaptığı gibi yapmaktır.
Yapmak için {{ base_path }}
bir tema adlı örnekte blok şablonlara mevcuttur, bu kodu eklemek example.theme
dosyası:
/**
* Implements hook_preprocess_block().
*/
function example_preprocess_block(&$variables) {
$variables['base_path'] = base_path();
}
MPD tarafından sağlanan kabul edilen cevapta belirtildiği gibi, bir düğümün veya başka bir varlığın URL'sinin alınması, sizin için her şeyi yapmanın yöntemleri vardır.
Ancak, tema klasörünüzde yaşayan görüntüleri görüntülerken, base_path öğesinin alınmasının nedenleri vardır. {{ directory }}
tema klasörünün yolunu sağlar, ancak temel yoldan ayrılır (genellikle yalnızca / ancak Drupal'ın düzgün çalışmaması için bir etki alanının alt kodundan sabit kodlanmaması gerekir). Açık page.html.twig
ya da yukarıdaki preprocesser olan herhangi şablonda bu bu amaçla çalışır:
<img src="{{ base_path ~ directory }}/images/nsf1.svg"
alt="National Science Foundation logo" height="80" width="80" />
Ve tabii ki güzel şablonlar için arzunuzu bastırırsanız Shawn Conn'ın cevabı iyi çalışıyor, ancak yapamadım.