Geeklog実験室 Geeklogのテストや改良のためのサイトです    

2012-02-05 10:01
   

ナビゲーションメニューでログインしていない場合は非表示にする(カスタムメニュー編)

Geeklogは仕様でログインしているときのメニューとしていないときのメニューを選択して表示できません。そのためそういう動作をさせようとすると本体の改造が必要になります。以下にその手順を説明します。

標準の状態だと「ログイン/ログアウト」と記事リスト、サイトマップに相当します。これらをログインしている状態のときのみ表示したい場合の改造です。

lib-common.phpを編集します。function COM_renderMenu( &$header, $plugin_menu )内部にある601行目あたりにある
    if( in_array( 'custom', $_CONF['menu_elements'] ))
    {
        $custom_entries = array();
        if(!$anon){
        if( function_exists( 'CUSTOM_menuEntries' ))
        {
            $custom_entries = CUSTOM_menuEntries();        }
        if( sizeof( $custom_entries ) == 0 )
        {
            $key = array_search( 'custom', $_CONF['menu_elements'] );
            unset( $_CONF['menu_elements'][$key] );
        }
        }
    }

赤字部分が追加項目です。これでログインしていない場合は表示されなくなります。この方法だと個別にON/OFFできないので注意してください。

ナビゲーションメニューでログインしていない場合は非表示にする(カスタムメニュー編) | 0 件のコメント | アカウント登録
コメントは投稿者の責任においてなされるものであり,サイト管理者は責任を負いません。