Вначале статьи заметим, что этот материал имеет отношение только к темам, созданным на основе 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 } ?>
и он будет отображаться во всех разделах сайта, кроме главной страницы.