Para exponer la respuesta de Nikhil Mohan, puede implementar template_preprocess_html()
dentro del archivo template.php de su tema. Lea la documentación sobre Anulación de salida temática para comprender los conceptos básicos de lo que está sucediendo aquí.
Dentro de esta función, tiene acceso a la variable $vars['classes_array']
, que contiene una lista de clases que se aplicarán a la <body>
etiqueta HTML en la página.
Desafortunadamente, la información sobre la ubicación de la página actual en el menú no está disponible de inmediato. Podría usar menu_get_item()
y luego menu_get_ancestors()
obtener esta información, pero eso es una gran capacidad de procesamiento para algo que probablemente podamos obtener con un enfoque más simple.
Suponiendo que está utilizando el módulo pathauto para crear automáticamente rutas semánticas para sus páginas de contenido en función de la ruta del menú (es decir, su página de parques temáticos de Melbourne tendría la ruta 'melbourne / theme_parks'), puede usar la ruta de la página para crear las clases que desee. estan buscando:
function THEMENAME_preprocess_html(&$vars) {
$path = drupal_get_path_alias();
$aliases = explode('/', $path);
foreach($aliases as $alias) {
$vars['classes_array'][] = drupal_clean_css_identifier($alias);
}
}
Eso es. Drupal ahora observará el alias de ruta de la página actual y agregará una clase a la <body>
etiqueta para cada fragmento del alias de ruta.
static
caché en ese punto, por lo que casi no hay sobrecarga.