web-dev-qa-db-ja.com

cssファイルはどこに含めますか?

Drupalの初心者として、cssファイルをどこにインクルードするかを自問しました?(Drupal 6を使用)

私は、javascript、php、mysqlを使用してWebアプリケーションを作成しましたが、このアプリケーションをDrupalに移行するための最初のステップを試しています。 Stackoverflowですでに知りました cssおよびjavascriptファイルを含める方法
cssファイルを含めるために使用する関数がわかったので、whereがわかりません。
新しいモジュール(stackoverflowの例のように「mymodule」という名前)を作成する必要がありますか?
またはcssファイルはモジュール「mymodule」にのみ適用されますか?もしそうなら、プレーンHTMLで満たされたページにどのように適用できますか?

2
Jbartmann

何でもそうですが、それを行うにはいくつかの異なる方法があります。

カスタムモジュールがある場合(カスタムアプリを移植するため、IMOを使用する必要があります)、モジュールに必要なCSSをモジュールのページコールバック関数に追加できます。この方法で追加されたCSSは、その特定のパスにのみ適用されます。参考までに、CSSをサイト全体に適用する場合は、テーマに含める必要があります。

したがって、モジュールは次のようになります。

function mymodule_menu() {
  $items['mymodule/blah'] = array(
    'page callback' => 'mymodule_page_blah',
  );
  return $items;
}

function mymodule_page_blah(){
  drupal_add_css(drupal_get_path('module', 'mymodule') . '/file.css', 'module', 'all', TRUE);
  ...
  return "<your blah page's html>";
}
1
rwg1138

カスタムcssを含めるには、demo_global.cssをテーマに含めます。テーマフォルダーのtheme_name.infoファイルに次の行を書き込みます。

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

:変更を確認するには、キャッシュをクリアする必要があります。詳細については、参照してください https://drupal.org/node/171209

4
Astha chauhan

これはカスタムモジュール用であり、これを.moduleファイルに入れます

Drupal 6:

/**
 * Implements of hook_preprocess_page()
 */
function <YOURMODULE>_preprocess_page(&$variables) {
  $module_path = drupal_get_path('module', '<YOURMODULE>');
  drupal_add_css($module_path . '/css/file.css');
  $variables['styles'] = drupal_get_css();
}

Drupal 7:

/**
 * Implements hook_preprocess_page().
 */
function <YOURMODULE>_preprocess_page(&$variables) {
   $module_path = drupal_get_path('module', '<YOURMODULE>');
   drupal_add_css($module_path . '/css/file.css');
}
1
John O

カスタムモジュールの作成については、次のリンクを参照してください。

サイトのすべてのページのCSSファイルを含めるには、次のいずれかを実行できます。

  1. 次のようにテーマの情報ファイルに含めます:stylesheets [all] [] = FILENAME.css
  2. 次のようにモジュールの情報ファイルに含めます:stylesheets [all] [] = FILENAME.css

忘れないでくださいto キャッシュをクリア = .infoファイルにCSSファイルを追加した後。

ただし、モジュールファイルに含める場合は、モジュールが有効になっている場合にのみ読み込まれます。

特定のノードのCSSファイルをロードするには、モジュールファイルで次のようにします。

/**
 * Implements hook_preprocess_node().
 */
function MODULE_NAME_preprocess_node(&$variables) {
  $node = $variables['node'];

  // Check if the node is the one on which you want to include the CSS file.
  if ((!empty($node)) && ($node->nid === $NODE_ID_ON_WHICH_YOU_WANT_TO_LOAD_CSS)) {
    drupal_add_js(drupal_get_path('module', 'MODULE_NAME') . "/FILENAME.js", "module");
    drupal_add_css(drupal_get_path('module', 'MODULE_NAME') . "/FILENAME.css", "module");
  }
}

また、あなたはこのリンクをチェックするかもしれません:
スタイルシートの追加
drupal_add_css

0
Ankit Agrawal