Drupal で、プライマリリンクにログアウト(Log out)リンクを自動的に表示する方法

使用するテーマのディレクトリの中の template.php に、以下のコードを追加すると、ログイン中のユーザーはプライマリリンクのところに自動的に Log out リンクが表示される。カラクリとしては、_phptemplate_variable hook に受け渡される $vars 引数から $var['primary_links'] 変数を取り出して($vars['primary_links'] array は、phptemplate.engine の中で定義されている)、logout リンクを追加しているだけ。
<?php
function _phptemplate_variables($hook, $vars = array()) {

  switch (
$hook) {
    case
'page':
      global
$user;
      if (
$user->uid) { //check to see if the user is logged in.
       
if(isset($vars['primary_links'])) {
          
$vars['primary_links'] += array('logout' => array('title' => t('Log out'), 'href' => 'logout'));
        }
      } else {
    }
    break;
  }

  return
$vars;
}
?>
トラックバック URL: https://perltips.twinkle.cc/trackback/313