リージョンに割り当てたブロックとかを、ノード(テンプレート: node.tpl.php
)内で呼び出す(表示・出力)させる方法のメモ。
リージョンの内容は、そのままでは page.tpl.php
でしか呼び出せず、 node.tpl.php
で利用できません。
このため、template.php
で、ノードが使える変数に格納し直してあげる必要があります。
node.tpl.php
内で、表示したいリージョンが hoge
だとして、ブロックとして表示するには、 template.php
内で、
function phptemplate_preprocess_node(&$variables, $hook) {
$variables['hoge'] = theme('blocks', 'hoge');
}
とし、
node.tpl.php
内で、
<?php if ($hoge): ?>
<div id="hoge"><?php print $hoge; ?></div>
<?php endif; ?>
みたいにします。
$variables
は、ノードで表示される情報が格納されている配列なので、そこにリージョンの内容を追加してあげれば、ノード内で利用できるようになるわけですね。