1

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

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

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 回答