Щоб пояснити відповідь Нікіла Мохана, ви можете впровадити template_preprocess_html()
всередині файлу template.php вашої теми. Прочитайте документацію щодо переосмислення тематичного виходу, щоб зрозуміти основи того, що тут відбувається.
У межах цієї функції у вас є доступ до змінної $vars['classes_array']
, яка містить список класів, які будуть застосовані до <body>
тегу HTML на сторінці.
На жаль, інформація про місцезнаходження поточної сторінки в меню одразу недоступна. Ви можете використати menu_get_item()
і потім, menu_get_ancestors()
щоб отримати цю інформацію, але це велика потужність обробки для того, до чого ми, мабуть, можемо дістатись із підходом simpiler.
Якщо припустити, що ви використовуєте модуль pathauto для автоматичного створення семантичних шляхів для сторінок вмісту на основі шляху до меню (тобто, на вашій сторінці в тематичних парках Мельбурна буде міститися шлях 'melbourne / theme_parks'), ви можете використовувати шлях до сторінки для створення класів, які ви шукаю:
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);
}
}
Це воно. Тепер Drupal перегляне псевдонім шляху поточної сторінки та додасть клас до <body>
тегу для кожного фрагмента псевдоніма шляху.
static
кеш-пам'яті в цей момент, тому майже немає накладних витрат.