1

Drupal7にノードを作成するカスタムモジュールがあります。カスタムモジュールによって作成されたノードの1つがレンダリングされたときに、カスタムcssスタイルシート(customstyle.css)を適用したいのですが、カスタムモジュールによって作成されたノードの1つがレンダリングされたときだけです。

簡単な解決策(カスタムモジュールの.infoファイルに追加)は、カスタムモジュールによって作成されていないノードを含むページを含むすべてのstylesheets[all][] = customstyle.cssページにスタイルシートを適用します。私はそれを望んでいません。

4

2 に答える 2

5

「カスタムモジュールによって作成されたノード」とは、特別なノードタイプがあることを意味すると思います。その場合は、モジュールに実装してから、ノードタイプまたはその他のプロパティに基づいてhook_node_view()呼び出すことができます。drupal_add_css()

function mymodule_node_view($node, $view_mode) {
  if ($view_mode != 'rss') {
    if ($node->type == 'mynodetype') {
      drupal_add_css(drupal_get_path('module', 'mymodule') . '/mynodetype.css');
    }
  }
}
于 2012-12-11T17:11:34.603 に答える
0

私はそれをサイトビルダーのやり方でやります。Contextを使用してそのノードタイプをターゲットにし、CSSファイルをロードするためのリアクションを割り当て.context-[node type]ます。これらのページの特定の要素をターゲットにするために使用します。

たとえば、ノードタイプがアップルレシピの場合、次を使用できます.context-apple-recipes

于 2012-12-11T20:15:11.720 に答える