Drupal 6: Как добавить новый регион в тему - PullRequest
2 голосов
/ 23 апреля 2010

Я добавил новую строку региона в мой файл .info в каталоге / sites / all / themes / [theme].Однако, когда я смотрю на страницу «Блоки», регион не виден и не может быть выбран из раскрывающегося меню.Я также очистил кеш.Чего мне не хватает?

Ответы [ 4 ]

2 голосов
/ 23 апреля 2010

Если у вас включено несколько тем, убедитесь, что вы смотрите правильную тему на странице конфигурации блока.

Например, если у вас включены custom_theme и гирлянда, для каждой страницы есть страница конфигурации блока..

Перейдите на http://www.example.com/admin/build/block/list/custom_theme, чтобы увидеть блоки для вашей custom_theme
Перейдите на http://www.example.com/admin/build/block/list/garland, чтобы увидеть блоки для темы гирлянды

и т. Д. Длявсе включенные темы

2 голосов
/ 23 апреля 2010

Когда вы говорите, что очистили кеш, вы действительно ссылаетесь на Реестр тем?Или вы действительно очистили кеш базы данных?Если вы только что очистили реестр темы, он не будет отражать изменения в файле .info темы.Вы можете очистить кэш с помощью ...

  1. Используйте ссылку или кнопку «очистить все кэшированные данные», расположенную в «Администрирование> Конфигурация сайта> Производительность».
  2. С блоком develвключен (поставляется с модулем devel), нажмите ссылку «Очистить кеш».
  3. Просто посетите страницу выбора темы в «Администрирование> Создание сайта> Темы».

Список из Drupal.org

Также возможно, что сам браузер кэширует страницы.Вы можете очистить кеш вашего браузера, а также кеш Drupal, просто чтобы быть абсолютно уверенным.

Если ничего из этого не сработает, не могли бы вы опубликовать назначение региона из файла .info?

1 голос
/ 24 апреля 2010

Я предполагаю, что Drupal 6 здесь, но в вашем andytheme.info вы добавили регион таким образом (смотрите в нижней строке):

regions[left] = Left sidebar
regions[right] = Right sidebar
regions[content] = Content
regions[header] = Header
regions[footer] = Footer
regions[andyregion] = Andy Region

Помните, что вам нужно добавить все регионы, если вы добавите какие-либо в ваш .info-файл - они не будут унаследованы от вашей базовой темы.

И, в вашем page.tpl.php, вы добавили переменную региона для печати где-нибудь? Как то так?

<div class="region andyregion"><?php print $andyregion ?></div>

Конечно, он будет окружен чем угодно и чем угодно. Затем очистите кэш и посмотрите, нет ли в нем блоков.

Andy-

0 голосов
/ 23 января 2015

В следующем примере предполагается, что вы используете Zen в качестве базового шаблона.

  1. Откройте файл /sites/[yoursite]/themes/[yourtheme]/[yourtheme].info и прокрутите вниз там, где есть загрузки regions[xxx] = yyy

    Имя в скобках - это название региона.Текст после знака равенства является описательным текстом, используемым на странице admin/structure/blocks.

  2. Откройте /sites/[yoursite]/themes/[yourtheme]/templates/page.tpl.php и добавьте <?php print render($page['MACHINE-NAME']); ?> там, где вы хотите, чтобы область появилась.

...