如何仅对Drupal 7中自定义模块创建的节点使用自定义css

Fre*_*cal 1 drupal drupal-7 drupal-theming

我在Drupal 7中有一个创建节点的自定义模块.我希望在呈现由我的自定义模块创建的其中一个节点时应用自定义css样式表(customstyle.css),但在呈现由我的自定义模块创建的其中一个节点时应用.

简单的解决方案(添加stylesheets[all][] = customstyle.css到我的自定义模块的.info文件)将样式表应用于所有页面,包括包含不是由我的自定义模块创建的节点的页面.我不要那个.

jam*_*mix 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');
    }
  }
}
Run Code Online (Sandbox Code Playgroud)