web-dev-qa-db-ja.com

機能にcssを適切に追加するにはどうすればよいですか?

いくつかのビューのみが含まれる機能があります。スタイルシートを適切に追加するにはどうすればよいですか?

7
nigel
  1. Cssファイルをモジュールに追加します。
  2. drupal_add_cssを使用してcssファイルを.moduleに含めます。これはhook_initで行うことができ、次のようになります。

    module_name_init() {
      if (arg(0) == 'views_path') {
        drupal_add_css(drupal_get_path('module', 'module_name') . '/path_to.css');
      }
    }
    
13
googletorp

CSSスタイル情報を追加するだけの場合は、それをテーマに追加します。新しいCSSファイルを作成し、テーマフォルダーに保存して、テーマの.infoファイルに追加します。

生成されたHTMLも調整する必要がある場合は、テーマ開発者モジュールをインストールします。アクティブにすると、Drupalサイトの任意の部分を指すことができ、テーマを実行している関数と、それらをオーバーライドする場合に独自の関数に名前を付ける方法がわかります。

変更を可視化するために、キャッシュを更新することを忘れないでください。

3
BetaRide

最近のプロジェクトではhook_views_pre_render()を使用しました。サンプルコードスニペットはこちら https://Gist.github.com/1675931

/**
 * Implements hook_views_pre_render().
 */
function example_views_pre_render(&$view) {
  $deals_view = array('deals', 'previous_deals');
  if (in_array($view->name, $deals_view)) {
    drupal_add_js(drupal_get_path('module', 'td_deals') . '/td_deals.js');
    $contextual_module_path = drupal_get_path('module', 'contextual');
    drupal_add_js($contextual_module_path . '/contextual.js');
    drupal_add_css($contextual_module_path . '/contextual.css');
  }
}
2
Sivaji

前述のように、移植性は、テーマのcssフォルダーに追加するときに問題になります。エクスポートされた機能のルートで新しく作成されたフォルダー(css)内に.cssファイルを配置し、機能の.infoファイル内で次のように参照することをお勧めします。

stylesheets[all][] = css/styles.css

モジュールが有効になると、スタイルシートが含まれます。何がいいのかは、フィーチャーを再生成するときに、この追加が保持されることです。

1
knice