ログインが必要な作業についてのナビゲーションメニューは通常表示されたままでクリックするとログインが必要とのメッセージを促すようになっていますが、これをそもそも非表示にするという設定がありません。
これを非表示にするにはちょっとした改造が必要です。
lib-common.phpの中のfunction COM_renderMenu( &$header, $plugin_menu )という関数を見てみましょう。この最後のあたりで
if( !empty( $url ) && !empty( $label ))
{
if( $last_entry )
{
$header->parse( 'menu_elements', 'menuitem_last', true );
}
else
{
$header->parse( 'menu_elements', 'menuitem', true );
}
$menuCounter++;
if( $allowed )
{
if( $last_entry )
{
$header->parse( 'allowed_menu_elements', 'menuitem_last',
true );
}
else
{
$header->parse( 'allowed_menu_elements', 'menuitem', true );
}
$allowedCounter++;
}
}
このような判定を行っています。赤字の$allowedが未ログインでも使えるかどうかという値を判定してセットしているのですが、この赤字の2行を緑字の後に移動させるとメニュー生成そのものが成されなくなり表示しないようにすることが可能です。
ただ、これはGeeklog標準で供給されるメニューにおいてのみ有効でプラグインやCUSTOM_
コメント (0件)
Geeklog実験室
http://geeklogtest.maryn.jp/article.php/20071021232233435