回答:
私はそれを使ってそれをしました:
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));
}
}
それは私にとってもう少し読みやすいです。
これを行う方法はいくつかありますが、すべてのアプローチがWebサイトのパフォーマンスに影響するという点で同じというわけではありません。例えば:
「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)
私がやっていることは、使用している管理テーマのサブテーマを、、.info
一意のCSSファイル(通常は名前overrides.css
)、template.php
必要に応じてファイルだけで作成することです。
何についてのCSSインジェクター?
テーマ依存の構成ルールを許可するかどうかはわかりませんが、パスに基づいたルールを許可すると仮定します(したがって、admin / 、node / add /、node / * / editがトリックを行う必要があります)。