[Решено] Как добавить класс к региону?

Главные вкладки

Комментарии

Аватар пользователя DD 85 DD 85 26 сентября 2013 в 16:46

Понятно, что можно создать шаблон региона.
А обойтись page.tpl.php и дописать что-нибудь в него нельзя?

Аватар пользователя sergeybelya sergeybelya 26 сентября 2013 в 19:10

DD 85 wrote:
Понятно, что можно создать шаблон региона.
А обойтись page.tpl.php и дописать что-нибудь в него нельзя?

В функции template_preprocess_region можно назначить класс.

Аватар пользователя DD 85 DD 85 26 сентября 2013 в 20:03

Я это не совсем понимаю

<?php
function template_preprocess_region(&$variables) {
  
// Create the $content variable that templates expect.
  
$variables['content'] = $variables['elements']['#children'];
  
$variables['region'] = $variables['elements']['#region'];

  

$variables['classes_array'][] = drupal_region_class($variables['region']);
  
$variables['theme_hook_suggestions'][] = 'region__' $variables['region'];
}
?>

Куда здесь класс впихивать?
Это всё в info файл?

Аватар пользователя vortex vortex 26 сентября 2013 в 21:34

"sergeybelya" wrote:
В функции template_preprocess_region можно назначить класс.

вот только не я и не автор так не умеют Smile я придерживаюсь варианта костылей если не могу быстро решить задачу. В данном случае переправить tpl напрямую.

Аватар пользователя sergeybelya sergeybelya 27 сентября 2013 в 0:03

vortex wrote:
"sergeybelya" wrote:
В функции template_preprocess_region можно назначить класс.

вот только не я и не автор так не умеют Smile я придерживаюсь варианта костылей если не могу быстро решить задачу. В данном случае переправить tpl напрямую.

Так учитесь, никогда не поздно:

function YOURTHEME_preprocess_region(&$variables) {

if ($variables['elements']['#region'] == 'footer_left') {
$variables['classes_array'][] = 'sidebar';
}

}

Поместить в template.php темы, YOURTHEME заменить на машинное имя темы, очистить кеш.
Но главный вопрос автору поста - зачем вам это? Что мешает в css использовать класс региона, который и так добавляется Drupal?

Аватар пользователя DD 85 DD 85 27 сентября 2013 в 0:29

К классам region-sidebar-first и sidebar добавляются динамические стили, настраиваемые в теме оформления через веб-интерфейс. Необходимо чтобы боковые колонки подвала имели те же свойства что и боковые колонки тела страницы.
Вопрос решён. Спасибо.

Аватар пользователя vortex vortex 27 сентября 2013 в 11:58

"sergeybelya" wrote:
Но главный вопрос автору поста - зачем вам это? Что мешает в css использовать класс региона, который и так добавляется Drupal?

мне надо было что бы окно содержимого и сайдбар имели одинаковый класс, что бы применить equal heights.

"DD 85" wrote:
Необходимо чтобы боковые колонки подвала имели те же свойства что и боковые колонки тела страницы.

ну вот и мне надо было похожее.

"DD 85" wrote:
Вопрос решён. Спасибо.

так написали бы где что подправили и что за тема была. для поколений Smile