いくつかのビューのみが含まれる機能があります。スタイルシートを適切に追加するにはどうすればよいですか?
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');
}
}
CSSスタイル情報を追加するだけの場合は、それをテーマに追加します。新しいCSSファイルを作成し、テーマフォルダーに保存して、テーマの.infoファイルに追加します。
生成されたHTMLも調整する必要がある場合は、テーマ開発者モジュールをインストールします。アクティブにすると、Drupalサイトの任意の部分を指すことができ、テーマを実行している関数と、それらをオーバーライドする場合に独自の関数に名前を付ける方法がわかります。
変更を可視化するために、キャッシュを更新することを忘れないでください。
最近のプロジェクトでは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');
}
}
前述のように、移植性は、テーマのcssフォルダーに追加するときに問題になります。エクスポートされた機能のルートで新しく作成されたフォルダー(css)内に.cssファイルを配置し、機能の.infoファイル内で次のように参照することをお勧めします。
stylesheets[all][] = css/styles.css
モジュールが有効になると、スタイルシートが含まれます。何がいいのかは、フィーチャーを再生成するときに、この追加が保持されることです。