Link 一张图片并添加资产
Link an image and add assets
我是 drupal 的新手,所以即使我找不到解决方案,这也可能很简单。
我有一个带有文件夹的自定义模块 back_module
:
- 源码
- css
- js
- 图片
- 模板
来自我的templates/block-back.html.twig
第一期:我想打印位于images/back.png
的图片
我找不到合适的 url 图片 <img src ="???" alt='backButton'/>
我已经找到了检索 url 的解决方案,但它会转到主题文件夹而不是模块文件夹。
第二期:我想link一个外部css/back.css
和js/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
,后者似乎用于主题中的全局库。仍在寻找如何包含图像。
我是 drupal 的新手,所以即使我找不到解决方案,这也可能很简单。
我有一个带有文件夹的自定义模块 back_module
:
- 源码
- css
- js
- 图片
- 模板
来自我的templates/block-back.html.twig
第一期:我想打印位于images/back.png
我找不到合适的 url 图片 <img src ="???" alt='backButton'/>
我已经找到了检索 url 的解决方案,但它会转到主题文件夹而不是模块文件夹。
第二期:我想link一个外部css/back.css
和js/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
,后者似乎用于主题中的全局库。仍在寻找如何包含图像。