Регион в документе
По умолчанию, Друпал даёт возможность создать любое количество регионов на странице. Но, что если вы захотите поместить регион в документ? Или как сделать регион который располагался бы между документом и комментариями? Сделать это достаточно просто.
Друпал 6
1. Добавьте регион в .info-файл темы:
regions[header] = Header
regions[left] = Left sidebar
regions[right] = Right sidebar
regions[content] = Content
regions[footer] = Footer
regions[node_region] = Node region2. Сделайте переменную $node_region доступной в файле node.tpl.php используя функцию _preprocess_node():
<?php
function [название-темы]_preprocess_node(&$variables, $hook) {
$variables['node_region'] = theme('blocks', 'node_region');
}
?>3. Добавьте переменную $node_region в файл node.tpl.php в то место, где вы хотите чтобы выводился регион, например:
<div class="content"><?php print $content; ?></div>
<?php if ($node_region) { ?>
<div class="node_region"><?php print $node_region; ?></div>
<?php }; ?>
<?php if ($links) { ?>
<div class="links"><?php print $links; ?></div>
<?php }; ?>4. Очистите кеш.
Друпал 5
1. Определите регионы в файле template.php используя hook_regions():
<?php
function [название-темы]_regions() {
return array(
'left_sidebar' => t('left sidebar'),
'right_sidebar' => t('right sidebar'),
'header' => t('header'),
'footer_message' => t('footer'),
'content' => t('content'),
'node_region' => t('node region'),
);
}
?>2. Сделайте переменную $node_region доступной в файле node.tpl.php используя функцию _phptemplate_variables():
<?php
function _phptemplate_variables($hook, $variables) {
if ($hook == 'node') {
$variables['node_region'] = theme('blocks', 'node_region');
}
return $variables;
}
?>3. Добавьте переменную $node_region в файл node.tpl.php в то место, где вы хотите чтобы выводился регион, например:
<div class="content"><?php print $content; ?></div>
<?php if ($node_region) { ?>
<div class="node_region"><?php print $node_region; ?></div>
<?php }; ?>
<?php if ($links) { ?>
<div class="links"><?php print $links; ?></div>
<?php }; ?>- Login to post comments


