Я новичок в Drupal dev и пытался добавить существующую переменную области в функцию препроцессора моего модуля.Drupal * _preprocess с модулем
В принципе, я создал новую область для моего сайта (здесь определение изнутри стороны файла .info мою тему в):
regions[feeds] = Feeds
С Administer-> Блоки, я добавил блоки I хотите новый регион «Каналы».
Затем, из другого модуля, модуля «Расширенная передняя страница», я пытаюсь добавить некоторый PHP на мою «главную страницу» внутри этого модуля. Модуль «Расширенная страница фронта» позволяет сайту иметь целевую страницу, а не сразу просматривать список других материалов сайта и т. Д. Я включил PHP для области содержимого, а затем добавил следующее:
<div>
<?php print $feeds; ?>
</div>
Он не печатает область «Каналы», и я считаю, что это потому, что переменная этого региона недоступна из-за пределов файла page.tpl.php. Поэтому, посмотрев вокруг, я наткнулся на эти ссылки:
Оттуда я пытался добавить функцию препроцессора для модуля «Advanced Front Page», который имеет имя модуля из «front_page» (или, возможно, просто «фронт», я не уверен на 100%). Вот моя функция препроцессора, что я пытался добавить как мой файл template.php, и файл /modules/front/front_page.module (не в то же самое время, заметьте):
function front_preprocess(&$vars)
{
$vars['feeds'] = theme('blocks', 'feeds');
}
Независимо от того, где Я разместил этот файл (template.php или front_page.module), он ничего не делает. Любая идея, где я могу ошибаться?
Спасибо, я попробую это предложение и дам вам всем знать. – Carl
В конце концов, вы были правы. Я решил не использовать пользовательский регион, и вместо этого я использовал существующий регион «контент» и применил правила видимости к блокам, которые я только хотел показать на домашней странице. Я теперь не могу вспомнить, почему я думал, что регион нужен, но, ну ладно. Живи и учись :) Большое спасибо. – Carl