4

フロントページのレイアウトを変えようとしています。その過程で、「front-page.css」とpage--front.tpl.phpという新しいスタイルシートを宣言しました。response-sidebar.cssをロードするZenサブテーマを使用しています。「response-sidebar.css」を削除して「front-page.css」をロードしたい。後のスタイルシートのグラインド列の数が前のスタイルシートと異なるため、私がそれを行っている理由。

Panelsモジュールを使用したくありません。Drupal7を使用しています。

4

4 に答える 4

2

テーマのtemplate.phpファイル内およびtemplate_preprocess_page($ vars)内で、削除するCSSファイルを見つけ、$vars['stylesheets']PHPの関数を使用して配列unsetから削除します。$vars['stylesheets']

于 2013-01-02T11:33:52.583 に答える
2

Drupal 7の方法は、以下を使用することhook_css_alter()です。

function MYMODULE_css_alter(&$css) {
  // Remove defaults.css file. The path will probably change for your theme obviously.
  unset($css[drupal_get_path('theme', 'MYTHEME') . '/css/responsive-sidebar.css']);
}

そのフックは、モジュールまたはテーマのいずれかに実装できます。

于 2013-01-02T13:18:56.547 に答える
0

私はこれを行うためのより良い方法を見つけました。少しハッキーですが、ほとんどすべての場所でcssの設定を解除できます。

$css = &drupal_static('drupal_add_css', array());
unset($css['some_css_path']);
于 2014-12-15T12:09:29.683 に答える
0

Drupal8ウェイ。たぶんそれはDrupal7で動作します。特定の/特定のページのスタイルシートを削除するには、次のものが必要です。

function MYTHEME_css_alter(&$css) {

// Get me path:
  $current_path = \Drupal::service('path.current')->getPath();
  $result = \Drupal::service('path.alias_manager')->getAliasByPath($current_path);

    if ($result == 'your/path' ){
      unset($css[drupal_get_path('theme', 'THEMENAME') . '/css/style.css']);
    }
}

D8で動作し、.themeまたは.moduleに入れることができます。必然的にすべてのキャッシュ(またはモジュールキャッシュ)を削除する必要があります。

于 2020-02-22T20:47:52.227 に答える