Недавно столкнулся с задачей создания и использования нестандартных регионов расположения блоков в теме оформления сайта. Создание дополнительных регионов темы оформления Drupal задача довольно простая, для этого нужно сделать следующее:
1. В каталоге темы, если не существует, создать файл template.php.
2. В данном файле объявляем функцию :
function mytheme_regions() {
return array(
'right' => t('right sidebar'),
'content' => t('content'),
'header' => t('header'),
'footer' => t('footer'),
'below_content' => t('below content')
);
}
Здесь mytheme -имя темыо формления с которой мы работаем. При этом путь к файлу template.php будет выглядеть так: sites/all/themes/mytheme/template.php. Функция theme_regions позволяет задать массив идентификаторов регионов, которые используются в теме оформления и их названия.
Теперь, чтобы использовать данный регион, открываем файл темы оформления page.tpl.php и добавляем там, где необходимо следующий код:
<?php print $below_content ?>
После этого на странице управления блоками можно задать список блоков, которые вы хотите отображать в данном регионе.
Таким образом можно добавлять в тему оформления произвольное количество регионов и располагать их на странице так, как вам угодно.
Комментарии
Хм... А у меня
12.09.2008 в 21:09 — ГостьХм... А у меня после добавления региона появляются проблемы (тема "andreas09"). При входе на сайт, после введения логина и пароля отображается пустая страница. Если обновить страницу, вход на сайт выполняется, но все блоки меняют своё расположение. В настройках блоков при выборе региона новый отображается...
После сохранения каких-либо изменений на странице настройки блоков также отображается пустая страница. Версия Drupal 5.10. Может кто сталкивался с такой проблемой?