質問
特定のページにstyleSheetを追加するのは簡単です:実装 hook_preprocess_page()
, 、 電話 drupal_add_css(...)
とセット $vars['styles'] = drupal_get_css()
.
しかし、適切な方法は何ですか 削除する 特定のページのスタイルシート(または私の場合は、すべての「メディア=画面」スタイルシート)で、キャッシュシステムを妨害することなく? (たとえば、出力に適用される正規表現ではありません)
あなたはただすることはできません unset($vars['css']['screen'])
なぜなら $vars['styles']
この時点ですでに生成されており、存在しません drupal_remove_css()
関数。
解決
これは最もクリーンな方法のようです hook_preprocess_page()
:
$css = drupal_add_css();
unset( $css['screen'] );
$vars['styles'] = drupal_get_css($css);
所属していません drupal.stackexchange