Один из способов решения этой проблемы заключается в следующем. Это зависит от URL-адреса, поэтому, если он меняется, меняется и имя класса.
В моих темах template.php я реализовал страницу hook_preprocess_page:
function mytheme_preprocess_page(&$vars, $hook) {
$body_classes = array();
$body_classes[] = 'page-' . _get_page_name($_SERVER['REQUEST_URI']);
$vars['body_classes'] = implode(' ', $body_classes);
}
function _get_page_name($request_uri) {
static $numeric_subsection = array(
'/node/' => 'node',
);
$preAlias = $request_uri;
$alias = substr(strrchr($preAlias, "/"), 1);
if (strpos($alias, '?') > -1) {
$alias = substr($alias, 0, strpos($alias, '?'));
}
$page_name = $alias;
if (empty($alias)) {
$page_name = 'start';
}
else if (is_numeric($alias)) {
foreach ($numeric_subsection as $section => $pn) {
if (strpos($preAlias, $section) > -1) {
$page_name = $pn;
}
}
}
return $page_name;
}
Тогда на главной странице-шаблоне:
<body class="<?php print $body_classes; ?>">
Это не общее решение. Таким образом, вам, вероятно, придется настроить это для ваших конкретных потребностей. Например, для корректной работы с автоматическим путем потребуется некоторая настройка сома.