我是drupal的新手,所以即使我找不到解决方案,这也可能很简单。
我有一个带有文件夹的自定义模块back_module
:
从我的templates/block-back.html.twig
第一期:我要打印位于images/back.png
中的图像
我找不到图片<img src ="???" alt='backButton'/>
的正确网址
我已经找到了检索URL的解决方案,但是它转到主题文件夹而不是模块文件夹。
第二个问题:我想将外部css/back.css
和js/back.js
文件链接到树枝模板
现在,我直接在模板中编写了这个css / js,因为我无法通过其他方式使它工作
意思是我的树枝文件看起来像这样
<style> ... </style>
<script> ... </script>
{# twig code #}
这是我的back_module.libraries
back:
css:
theme:
css/back.css: {}
js/back.js: {}
dependencies:
- core/jquery
- core/drupal
- core/drupalSettings
这是我的back_module.module
function back_module_theme($existing, $type, $theme, $path) {
return [
'block__back' => [
'variables' => [
'link' => NULL
],
'template' => 'block--back'
],
];
}
这就是我从控制器中调用事情的方式
public function build()
{
// TODO: Implement build() method.
$url = "";
$result = [
'#theme' => 'block__back',
'#link' => $url,
'#attached' => [
'library' => [
'back/back',
],
],
];
return $result;
}
感谢您的帮助。
答案 0 :(得分:0)
几个小时后,我找到了解决CSS和JS资产问题的解决方案。如果我想将插件控制器中的库包包含到模板中,则必须使用back_module/back
而不是back/back
,后者似乎是针对主题的全局库。还在寻找如何添加图片。