Как добавить новый регион в Drupal 7.


Регионы в Drupal — это определенные области в теме сайта, для которых можно задать вывод определенного блока. Количество регионов в разных темах может быть различной (их число и местоположение задает автор темы). Если вы используете чью-то готовую тему и вам недостаточно тех регионов, которые уже есть тут, то вы можете легко добавить свой в нужном месте. В данной статье мы рассмотрим, как добавить новый регион в Drupal 7.

Первое, что мы должны сделать — это отыскать файл page.tpl.php, который находится в папке с нужной вам темой. Здесь как раз указаны все существующие регионы, которые можно использовать на нашем сайте. Допустим, нам необходимо добавить новый регион (область) с именем «my_region». Последовательность действий будет такая:

1. Открываем файл page.tpl.php нашей активной темы с html-кодом страницы.
2. Там, где нам необходимо создать новую область (регион), вставляем следующий код:

1
2
3
4
5
<?php if ($page['my_region']): ?>
      <div id="my_region" class="my_class">
        <?php print render($page['my_region']); ?>
      </div> <!-- /my_region -->
<?php endif; ?>

Первая строка — это проверка, есть ли какое-то содержимое для области «my_region». Если оно есть, то далее происходит вывод этого содержимого строкой:

1
print render($page['my_region']);

Все просто. Однако, чтобы мы могли использовать данный регион, нам необходимо «сообщить» о нем Друпалу. Для этого используется файл описания темы «.info». Открываем этот файл и в том месте, где вы видите такие строки, как:

1
2
3
regions[page_top] = Page top
regions[page_bottom] = Page bottom
...

добавляем строку подключения нашего региона:

1
regions[my_region] = My region

После этого почистите кэш Drupal и данный регион можно использовать для вывода ваших блоков.





Другие посты

Категория: Drupal

Комментарии (1)

 

  1. Анна:

    Спасибо большое! Очень помогла статья… Про редактирование .info файла находила информацию, а про вставку .php с конкретным примером, только тут нашла, осваиваю пока, вообщем, ещё раз спасибо =)

Оставить комментарий