Drupal 8 - 从自定义模块

时间:2016-10-03 21:13:19

标签: drupal drupal-modules drupal-8

我已经创建了库( example-libraries.yml ):

example:
  version: VERSION
  js:
    js/example.js: {}
  css:
    theme:
      css/example.css: {}

我试图通过这样做全局加载它( example.info.yml ):

name: Example Module
type: module
description: "A module that is responsible for ..."
package: Custom

core: 8.x
version: 1.0-SNAPSHOT

libraries:
  - example/example

我可以通过执行以下操作成功加载特定表单:

$form['#attached']['library'][] = 'example/example';

关于如何让它在全球范围内运作的任何想法?

3 个答案:

答案 0 :(得分:1)

我终于想通了。我的自定义模块会在 system.admin 菜单中添加一个额外的标签。每个其他选项卡都有一个图标,我也想在那里放置我的自定义模块图标。

如果其他人遇到同样的问题,在文件 example.module 中,我必须创建一个条目:

/**
 * Implements hook_toolbar().
 */
function example_toolbar() {
    $items['example'] = array(
        '#type' => 'toolbar_item',
        '#attached' => array(
            'library' => array(
                'example/example',
            ),
        ),
    );

    return $items;
}

答案 1 :(得分:0)

你添加的my_theme.info.yml非常简单:

libraries:

- 示例/示例

https://www.drupal.org/docs/8/theming-drupal-8/defining-a-theme-with-an-infoyml-file

答案 2 :(得分:0)

您不需要为此设置自定义主题。使用hook_page_attachments()

/**
 * Implements hook_page_attachments().
 */
function example_page_attachments(array &$attachments) {
  $attachments['#attached']['library'][] = 'example/example';
}
相关问题