我在Drupal 7中有一个创建节点的自定义模块。我希望在呈现由我的自定义模块创建的其中一个节点时应用自定义css样式表(customstyle.css),但在呈现由我的自定义模块创建的其中一个节点时,仅。
简单的解决方案(将stylesheets[all][] = customstyle.css
添加到我的自定义模块的.info文件中)将样式表应用于所有页面,包括包含节点 not 创建的页面通过我的自定义模块。我不希望这样。
答案 0 :(得分: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');
}
}
}
答案 1 :(得分:0)
我会这样做网站建设者的方式。使用Context定位该节点类型,然后指定反应以加载CSS文件,只需使用.context-[node type]
来定位这些页面中的特定元素。
例如,如果您的节点类型是苹果食谱,则可以使用.context-apple-recipes