链接图像并添加资产

时间:2019-11-15 11:06:47

标签: drupal drupal-8

我是drupal的新手,所以即使我找不到解决方案,这也可能很简单。

我有一个带有文件夹的自定义模块back_module

  • src
  • css
  • js
  • 图片
  • 模板

从我的templates/block-back.html.twig

第一期:我要打印位于images/back.png中的图像

我找不到图片<img src ="???" alt='backButton'/>的正确网址

我已经找到了检索URL的解决方案,但是它转到主题文件夹而不是模块文件夹。


第二个问题:我想将外部css/back.cssjs/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;
}

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

几个小时后,我找到了解决CSS和JS资产问题的解决方案。如果我想将插件控制器中的库包包含到模板中,则必须使用back_module/back而不是back/back,后者似乎是针对主题的全局库。还在寻找如何添加图片。