特定のページにスタイルシートを追加するのは簡単です。hook_preprocess_page()
を実装し、drupal_add_css(...)
を呼び出して$vars['styles'] = drupal_get_css()
を設定します。
しかし、キャッシュシステムに干渉することなく、特定のページのremoveスタイルシート(または私の場合は、すべての「media = screen」スタイルシート)に適切な方法は何ですか? (たとえば、一部の正規表現は出力に適用されません)
この時点で_$vars['styles']
_はすでに生成されており、unset($vars['css']['screen'])
関数が存在しないため、drupal_remove_css()
だけを実行することはできません。
これはhook_preprocess_page()
で最もクリーンな方法のようです:
$css = drupal_add_css();
unset( $css['screen'] );
$vars['styles'] = drupal_get_css($css);