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