Создаём новый регион в Drupal 6

Не знаю, чем руководствовались разработчики тем для Drupal 6, но в большинстве трёхколоночных тем есть регионы для блоков: левая колонка, правая колонка, подвал сайта, после основного контента, + бывает ещё сверху где-нибудь. Но почему-то самого нужного места — ПЕРЕД контентом нигде не видел.

Вот вполне рабочий вариант создания своего региона на примере версии Drupal 6.3:

1. В файле название_темы.info описаны существующие регионы. В моём случае:

regions[left] = Left sidebar
regions[right] = Center bar
regions[content] = Content
regions[footer] = Footer

Добавляем по аналогии свой регион:

regions[con_top] = con_top

Имя в скобках — для системы, справа от равенства название, которое будет подсвечено в управлении блоками.

2. В моём случае вывод блока должен быть перед контентом. В файле page.tpl
была найдена строка вывода самого контента:

<?php print $content ?>

Перед ней я и сделал вывод своего региона:

<div id="content_top"><?php print $con_top?></div>
<?php print $content ?>

Можно обойтись и без div, но так удобнее, т.к. можно в файле style.css поменять оформление этого блока.

Вроде этого:

#content_top {
  padding:10px;}

По мотивам setegnom.com/node/218

Комментарии и советы приветствуются.

Оцените статью
  • Alex

    Зачёт! Очень понятно, можно побольше таких новостей?:)

    [Ответить]

    admin

    @Alex, если что-то более менее интересное узнаю — выкладываю на блог)

    [Ответить]

  • Просто, коротко, доступно, наглядно, даже новичкам будет понятно.
    А почему блог на ВордПрессе а не на Друпал?

    [Ответить]

  • Ну, собственно, понятно уже почему не на Друпале. Не только о Друпале речь идет.

    [Ответить]

    admin

    @Veter, вот и поговорили))

    [Ответить]

  • Роман

    И опять же… это работает только если добавляемый блок уже вписан в файл стилей. Если добавляешь какой-то совершенно другой блок, скажем top_footer1, 2 и 3 и если они не вписаны в файл стилей, они просто не отобразятся…

    [Ответить]