Link 一张图片并添加资产

Link an image and add assets

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

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

来自我的templates/block-back.html.twig

第一期:我想打印位于images/back.png

的图片

我找不到合适的 url 图片 <img src ="???" alt='backButton'/>

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


第二期:我想link一个外部css/back.cssjs/back.js文件到twig模板

现在,我将这个 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;
}

感谢您的帮助。

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