0

画像ファイルのフィールドを含むコンテンツタイプを作成しようとしています-十分に単純です。ただし、この画像ファイルを背景画像として表示したいのですが。カスタムnode.tplを作成し、画像ソースをインラインに含めるstyle="background: url(sites/all/themes/theme/images/image.png);"必要がありますか、それとも、JavaScriptを使用してフィールドからスタイルシートに書き込むなど、より洗練された方法がありますか?

4

2 に答える 2

1

hook_node_view 関数、ノード前処理スクリプト、またはノード テンプレートで drupal_add_css を使用して、スタイルを直接追加できます。

$css = "#bg-img { 
  background: url(/sites/all/themes/theme/images/image.png) left top no-repeat; 
};"
drupal_add_css($css, 'inline');

または、drupal 設定を使用して、jquery スクリプトで参照することもできます。「設定」オプションを使用してdrupal_add_jsの使用法と例を調べます。

drupal_add_js(array("moduleName" => array('bgImg' => $absolute_url)), 'setting');

Drupal.settings.moduleName['bgImg'] を使用した jQuery での参照

あなたが説明したようにnode.tpl.phpを調整するIMOは完全に賢明です。drupal_add_css を使用すると、ノードの外側の要素 (ページ全体など) に背景画像を設定できます。より高度な配置/サイズ変更オプションが必要な場合は、jquery を使用しました。

于 2012-08-16T20:00:12.890 に答える