質問

特定のページに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);
ライセンス: CC-BY-SA帰属
所属していません drupal.stackexchange
scroll top