Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Drupal 如何向模块中的每个页面添加条件CSS和JS?_Drupal_Drupal 7_Drupal Modules - Fatal编程技术网

Drupal 如何向模块中的每个页面添加条件CSS和JS?

Drupal 如何向模块中的每个页面添加条件CSS和JS?,drupal,drupal-7,drupal-modules,Drupal,Drupal 7,Drupal Modules,我正在构建一个模块,让管理员可以选择一些可选的CSS和JS文件,在呈现每个页面时应该包括这些文件 函数似乎位于正确的位置,但在hook_init页面上,它表示这实际上不是正确的方法: 要添加应该出现在所有页面上的CSS或JS,模块不应该实现这个钩子,而是在其.info文件中声明这些文件 这不适用于我的情况,或者有更好的方法吗?这不适用于你的情况。它只适用于CSS和JS的包含没有任何条件的情况。这不适用于您的情况。它只适用于CSS和JS的包含没有任何条件的情况。如果CSS是有条件地添加的,我的问题

我正在构建一个模块,让管理员可以选择一些可选的CSS和JS文件,在呈现每个页面时应该包括这些文件

函数似乎位于正确的位置,但在hook_init页面上,它表示这实际上不是正确的方法:

要添加应该出现在所有页面上的CSS或JS,模块不应该实现这个钩子,而是在其.info文件中声明这些文件


这不适用于我的情况,或者有更好的方法吗?

这不适用于你的情况。它只适用于CSS和JS的包含没有任何条件的情况。

这不适用于您的情况。它只适用于CSS和JS的包含没有任何条件的情况。

如果CSS是有条件地添加的,我的问题是聚合(在我的例子中,条件是语言)。 结果是启用聚合时未加载css。 简单地阅读drupal_add_css的文档对我帮助很大。 我有两个选项阻止它工作: “every_page”设置为TRUE,因为我误解了它(实际上我希望在所有页面上都使用它,但只适用于某些语言) “preprocess”的默认值为TRUE,它会导致在aggregation中包含css,问题是如果在创建聚合文件时未加载css,那么以后将根本不会加载css


解决方案是:drupal_添加_css(path_to_theme()。/css/language override.css',数组('weight'=>101,'preprocess'=>FALSE))

如果css是有条件地添加的(在我的例子中是以语言为条件的),那么我的问题是聚合。 结果是启用聚合时未加载css。 简单地阅读drupal_add_css的文档对我帮助很大。 我有两个选项阻止它工作: “every_page”设置为TRUE,因为我误解了它(实际上我希望在所有页面上都使用它,但只适用于某些语言) “preprocess”的默认值为TRUE,它会导致在aggregation中包含css,问题是如果在创建聚合文件时未加载css,那么以后将根本不会加载css


解决方案是:drupal_添加_css(path_to_theme()。/css/language override.css',数组('weight'=>101,'preprocess'=>FALSE))

谢谢伙计,我的第一个Drupal模块,所以不完全确定。谢谢伙计,我的第一个Drupal模块,所以不完全确定。