Drupal的8 - 从一个自定义模块
我已经创建库全球加载库(例如-libraries.yml):Drupal的8 - 从一个自定义模块
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';
关于如何让它在全球范围内工作的任何想法?
这是你的my_theme.info.yml非常简单的添加:
libraries:
- 例如/例如
https://www.drupal.org/docs/8/theming-drupal-8/defining-a-theme-with-an-infoyml-file
你并不需要为这个自定义主题。使用hook_page_attachments():
/**
* Implements hook_page_attachments().
*/
function example_page_attachments(array &$attachments) {
$attachments['#attached']['library'][] = 'example/example';
}
我是Drupal8的新手,至今为止,我的全局设置都在yml文件中。我应该在哪里添加这段代码,以便我的库可以在全球范围内使用? –
把它放到你的example.module文件中 –
我终于想通了。我的自定义模块会将一个额外的选项卡作为system.admin菜单的子项。每个其他选项卡都有一个图标,我也想把我的自定义模块图标放在那里。
万一别人卡住同样的问题,在文件example.module,我不得不创建一个条目:
/**
* Implements hook_toolbar().
*/
function example_toolbar() {
$items['example'] = array(
'#type' => 'toolbar_item',
'#attached' => array(
'library' => array(
'example/example',
),
),
);
return $items;
}
我需要为创造T定制主题?我的意图是只有一个模块。 –
是的,你需要一个自定义的主题。创建它简单而快速。 https://www.drupal.org/docs/8/theming –