Как добавить класс в регион Drupal 7?

Я пытаюсь добавить класс.clearfix в область нижнего колонтитула в Drupal 7. Есть ли способ сделать это?

В настоящее время я использую следующее для печати моего нижнего колонтитула:

<?php print render($page['footer']); ?>

Какие выводы:

<div class="region region-footer">
   <div id="block-1>....</div>
   <div id="block-2>....</div>
</div>

4 ответа

Решение

Скопируйте region.tpl.php (находится в каталоге modules/system) в каталог вашей темы. Затем скопируйте все внутри и создайте новый файл. Вставьте в этот файл и внесите любые изменения в шаблон. После завершения сохраните его как region- footer.tpl.php и очистите кэш на вашем сайте, чтобы увидеть изменения.

Регион region.tpl.php содержит (наряду с множеством комментариев, объясняющих возможные переменные):

<?php if ($content): ?>
  <div class="<?php print $classes; ?>">
    <?php print $content; ?>
  </div>
<?php endif; ?>

Так что все, что вам нужно сделать, это добавить класс для этого DIV.

Вот фрагмент кода:

function MY_THEME_NAME_preprocess_region(&$variables, $hook) {
    if($variables['region'] == "MY_REGION_NAME"){
        $variables['classes_array'][] = 'MY_CLASS_NAME';
    }
}

Или, если вы хотите вставить класс во все регионы:

function MY_THEME_NAME_preprocess_region(&$variables, $hook) {
    $variables['classes_array'][] = 'MY_CLASS_NAME';
}

Еще лучше, если вы используете крючок, вы можете использовать template_preprocess_region,

Попробуйте добавить включение в файл footer.php.tpl. Возможно, вам придется создать его.

Другие вопросы по тегам