我有一个关于在Twig模板中获取图像路径的问题。图像未分配到字段或其他内容。只是存储在“ MYTHEME / image / icon / my-icon.png”中的静态图像。
在Drupal 7中,我使用以下代码在node.template中获取路径:
<img src="<?php print base_path() . path_to_theme(); ?>/image/icons">/my-icon.png
在Drupal 8中如何使用?我试图在中传递变量template_preprocess_node()
。
MYTHEME.theme:
$variables['images_path'] = \Drupal::theme()->getActiveTheme()->getPath() . '/image/';
树枝模板:
<img src="{{ images_path ~ 'icons/' ~ 'my-icon.png' }}">
没用 没有PHP错误,但是错误地将该路径称为http://localhost/node/themes/template/image/icons/my-icon.png。
“路径错误”-并不是很有用:)另外,您还应该在主题的主题文件中进行预处理,而不是在全局tmeplate_preprocess_hook函数中进行预处理,并且应该使用drupal_get_path('theme','yourtheme')。
@ user21641
—
Chapabu
drupal_get_path
用于D7 :)
好吧,用羽毛把我吹倒!为我
—
上色
确实对于D8也是如此。我已经这样使用过:
—
Vodde 2015年
$themePath = Url::fromUserInput('/' . drupal_get_path('theme', '[themename]')