CSSファイルを集約しないようにDrupalに指示するには


7

DrupalのAggregateを有効にしてCSSファイルを圧縮しました。特定のcssファイルを集約および圧縮から除外するにはどうすればよいですか?ありがとう。


1
それは何のために良いのでしょうか?私は興味がある。
Scorchio 2012年

ノードごとに変更するcssファイルがあり、大きなcssの一部にしたくない。
karthik 2012年

回答:


12

ファイルの集約を停止するには、ファイルをロードするdrupal_add_css()コマンドにフラグを追加できます。これを行うには、CSSが追加されている場所を探しarray('preprocess' => FALSE)、スタイルの後に追加します。

drupal_add_css('/fonts/fonts-min.css', array('preprocess' => FALSE));

または、外部CSSは決して圧縮されないため、CSSをファイルの絶対URLに変更しても、圧縮されません。

drupal_add_css('http://mysite/css/fonts-min.css');

.infoファイルからインクルードされたCSSを変更したい場合は_preprocess_html、template.phpで外部ファイルとして追加するのが最善です。これは、このページの「外部スタイルシートの追加」で詳しく説明されています


ねえ、ありがとう、あなたは正しいですが、そうではありませんarray('preprocess' => FALSE));か?それがドキュメントが言うことです。
karthik 2012年

おっと、正解です。デフォルトからコピーして、スペルを間違えないようにしました:-/
John C

1

私もこの問題を抱えていましたが、drupal_add_cssを使用する代わりに、次のようなページにファイルを添付しました。

function module_preprocess_page(&$variables) {
  $variables['some_element']['#attached'] = array(
    'css' => array(
      'path/to/css/style.css',
    )
  )
}

添付のコアコードを掘り下げているときに、ここでもJohn Cのソリューションを使用できることがわかりました。

function module_preprocess_page(&$variables) {
  $variables['some_element']['#attached'] = array(
    'css' => array(
      'path/to/css/style.css' => array(
        'preprocess' => FALSE,
      )
    )
  )
}

0

Drupal 8でこれを実際にどのように実行したかは、まだ開発段階にあり、あまりにも多くの変更が加えられているためです。

THEMENAME.themeファイル:

function THEMENAME_preprocess_html(&$variables) {
  $variables['css_address'] = drupal_get_path('theme', 'themename') . '/cssfile.css';
}

そして、html.html.twigテンプレートファイルのheadタグに次のようなものを追加しました。

<link rel="stylesheet" type="text/css" href="{{ css_address }}">

すぐにもっと良い方法があるでしょう。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.