Вы здесь

Как добавить свой класс к body в теме Drupal

Для этого нужно открыть файл template.php Вашей темы и найти функцию-препроцессор themename_preprocess_html. Обычно эта функция должна быть в этом файле, однако, если она отсутствует, вы должны прописать ее сами. Вместо themename Вы должны указать имя Вашей темы.

function themename_preprocess_html(&$variables) {
  $variables['classes_array'][] = 'my-new-class';
}

Разберем немного подробней эту конструкцию. Как Вы наверное догадались, классы тега body хранятся в массиве $variables['classes_array']. Каждый класс это отдельный эелмент массива. Вы можете изменять занчения этого массива как Вам будет угодно. В нашем случае мы добавили класс my-new-class к тегу body.

Для еще одного примера можно немного усложнить задачу. Наприме нам нужно добавить класс к body если нет содержимого в сайдбаре. 

function themename_preprocess_html(&$variables) {
  if (empty($variables['page']['sidebar'])) {
    $variables['classes_array'][] = 'no-region';
  }
}

Вместо sidebar можно указать любой регион, обозначенный в Вашей теме.

Наконец, Вам нужно сбросить кеш сайта чтобы увидеть изменения. 

Теги: