Drupal 6 - 将视图名称添加到Body Class

时间:2011-01-03 11:33:53

标签: css drupal-6 views

在Drupal 6中(使用Views时),默认情况下,每个View都包含在DIV中。此DIV包含许多描述视图名称和类型的类。

无论如何要在body标签中输出这些类吗?

1 个答案:

答案 0 :(得分:2)

我找不到一种方法来访问应用于其他元素的现有视图类,但我做的是Zen主题所做的,即使用任何URL的第一个参数作为主体类,例如yoursite.com/case-studies将具有正文类“页面案例研究”。这通常可以解决问题,因为它通常被设置为视图的标题。它还可以根据具体情况轻松调整/定制。

您可以在主题的template.php中的THEME_preprocess_page()函数中使用3行来实现此目的:

$path = drupal_get_path_alias($_GET['q']);
list($title, ) = explode('/', $path, 2);
$vars['body_classes'] .= " ".drupal_html_class("page-".$title);

要获得更多功能,您只需下载Zen theme,然后查看他们的template.php。

显然要确保你的page.tpl.php正在打印$ body_classes。另外要在Drupal 6上使用它,你需要复制drupal_html_class()函数,它也包含在Zen的template.php中。