Создание региона в Друпале

Вначале статьи заметим, что этот материал имеет отношение только к темам, созданным на основе PHPTemplate (по умолчанию движок для тем в Drupal). Добиться отображения на главной странице сайта только нужных регионов можно несколькими способами.

Один из самых простых решений – скопировать файл page.tpl.php (находится в папке Вашей темы) и переименовать эту копию в page-front.tpl.php. Именно этот файл и будет отвечать за отображение информации на главной странице Вашего сайта. И чтобы изменить ее нужно будет только внести изменения в page-front.tpl.php.

Если же Вы не сторонник увеличения количества файлов в теме Вашего сайта, то имеется альтернативный вариант, как внести изменения в рамках существующего файла page.tpl.php. Для этого вначале нам необходимо будет создать новые регионы, которые будут отображаться только на главной странице (этот пункт важен и для первого варианта). Допустим это будут три региона – «frontpage top», «frontpage center», «frontpage bottom».

Чтобы создать новые регионы (в 6 версии) необходимо добавить в специальный код в файл с расширением .info. Имя данного файла будет полностью совпадать с названием Вашей темы. То есть для темы оформления garland нужный файл будет называться garland.info. В этот файл нужно будет добавить список имеющихся регионов и вновь создаваемых Вами регионов:

regions[left] = Left sidebar
regions[right] = Right sidebar
regions[content] = Content
regions[header] = Header
regions[footer] = Footer
regions[frontpage_top] = Frontpage Top
regions[frontpage_center] = Frontpage Center
regions[frontpage_bottom] = Frontpage Bottom

Теперь после того как новые регионы были добавлены, откройте файл page.tpl.php и в необходимое Вам место поместите следующий код, который добавит новый регион «Frontpage Top» на Вашу главную страницу:

<?php if ( $is_front || strstr ( $_GET [ 'q' ], 'admin/block' )) : ?> 
<blockquote id="frontpage_top" class="frontpage"> 
<?php print $frontpage_top ?> 
</blockquote> 
<?php endif; ?>

Повторите эту процедуру для оставшихся регионов Frontpage Center и Frontpage Bottom. Вы можете объединить все регионы в рамках одного запроса if () для улучшения производительности.

Для того чтобы добавить блоки с информацией в новые регионы, перейдите в раздел «Блоки» (Главная › Управление › Конструкция сайта) и внесите нужные изменения.

Если же Вы не хотите отображать один из стандартных регионов на главной странице, то добавьте перед этим регионов код:

<?php if (!$is_front) { ?>

а после региона код:

<?php } ?>

и он будет отображаться во всех разделах сайта, кроме главной страницы.

 Автора автора