【发布时间】:2017-12-05 19:19:48
【问题描述】:
我正在使用 Drupal 8 构建一个自定义模块。模块的要求之一是它基于配置设置设置一个 javascript 文件,该模块的用户在模块配置中设置该文件。
需要添加到页面的javascript取决于配置设置。因此,我无法使用本文中提到的库添加它:Adding assets to Drupal module。
我首先使用块来实现它。我使用 Twig 模板将 PHP 中的配置变量传递给 twig 文件,并且在 twig 文件中,我有一个标签可以根据配置变量添加 javascript。请参阅Using twig templates。
这种方法的问题是用户需要在页面上添加块,并且该块上没有面向 UI 的元素。我也觉得很乱。
有没有更简洁的方法来使用钩子添加我的 javascript 并将变量传递给它?我环顾四周,发现hook_install 和hook_page_attachments。所以我可以添加 Javascript,但不知道如何将任何 php 变量传递给它。
我是 Drupal 开发的新手。对此的任何帮助都非常感谢。
TL;DR 我需要找到一种使用 Drupal 钩子添加 Javascript 并将一些 PHP 变量传递给它的方法。
【问题讨论】:
标签: drupal hook drupal-modules drupal-8 drupal-hooks