Answers:
我做到了,只是使用:
function mymodule_preprocess_html(&$variables) {
global $theme;
if ($theme === variable_get('admin_theme', 'seven')) {
// Reference your custom stylesheet.
drupal_add_css(drupal_get_path('module', 'mymodule') . '/css/mymodule.css', array('weight' => CSS_THEME));
}
}
对我来说,这更具可读性。
有许多方法可以做到这一点,但是就影响网站性能而言,并非所有方法都是平等的。例如:
创建一个名为“ mymodule”的目录(使用您想要的任何名称),在其中创建这些文件,然后将其放在您的sites / all / modules / custom目录中。我在下面的代码中添加了注释,以便您可以看到发生了什么。
mymodule.info包含:
name = mymodule
description = Custom alterations for admin pages on my website
core = 7.x
mymodule.module包含:
function mymodule_preprocess_html(&$variables) {
// Add conditional stylesheets for admin pages on admin theme.
if (arg(0) === "admin") {
// Reference your current admin theme.
$theme_path = drupal_get_path('theme', 'commerce_kickstart_admin');
// Reference your own stylesheet.
drupal_add_css(drupal_get_path('module', 'mymodule') . '/css/mymodule.css', array('weight' => CSS_THEME));
}
}
然后,css / mymodule.css将具有您的样式,这些样式将添加到管理主题中。清除缓存,启用此模块,即可开始比赛!在此处了解有关drupal_add_css的更多信息。
$theme_path
如果您使用当前的模块路径,CSS_THEME
则不需要变量...而且不是权重而是一个组:array('group' => CSS_THEME)
那CSS Injector呢?
我不知道它是否允许主题相关的配置规则,但我假设它确实允许基于路径的规则(因此admin / ,node / add /,node / * / edit应该可以解决问题)。