Drupal 8 自定义块如何附加 JavaScript ?
Posted
技术标签:
【中文标题】Drupal 8 自定义块如何附加 JavaScript ?【英文标题】:Drupal 8 Custom Block how to attach JavaScript ? 【发布时间】:2018-07-24 23:58:41 【问题描述】:我已经成功创建了一个自定义块,只是想在该块上调用 java 脚本警报功能。我创建了一个 .js 文件。问题是如何在 BLOCK php 的构建函数中调用 javascript throgh 数组渲染中声明的函数
【问题讨论】:
欢迎来到 Stack Overflow!请edit您的问题显示the code you have so far。您应该至少包含您遇到问题的代码的大纲(但最好是minimal reproducible example),然后我们可以尝试帮助解决具体问题。您还应该阅读How to Ask。 【参考方案1】:您需要先将 js 文件包含在 moduleName.libraries.yml
中。然后就可以运行了,alert功能就起作用了。
【讨论】:
【参考方案2】:您可以将库附加到树枝文件中的块: 1) 假设区块名称为:block--foobar.html.twig 2) 你在 THEME.libraries.yml 文件中创建了一个库,名为:contact-js 3) => 您可以通过在 block--foobar.html.twig 中调用它来将库附加到块: attach_library('THEME/contact-js')
【讨论】:
【参考方案3】:请详细说明问题。 据我了解,试试这个。 Reference
将 js 附加到 Block Plugin 的渲染数组
再举一个将库附加到渲染数组的示例,如果您在模块中构建块插件,则可以在扩展 BlockBase 类的类的 build() 函数中将库附加到渲染数组(从 Drupal 8 beta 6 开始)。
return [
'#theme' => 'your_module_theme_id',
'#someVariable' => $some_variable,
'#attached' => array(
'library' => array(
'your_module/library_name',
),
),
];
【讨论】:
以上是关于Drupal 8 自定义块如何附加 JavaScript ?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Drupal 8 中自定义/样式/主题自定义内容类型的输出?
使用自定义字段“PHP 代码”查看 Drupal 图像附加路径