~~NOTOC~~ ======ログインなどを消す====== ログイン、最近の変更、メディアマネージャー、サイトマップ、ソースの表示、以前のリビジョンを消したい。 {{INLINETOC}} =====ログインを消す===== テンプレートのPHPコードの中から、 tpl_action('login', 1, 'li'); を見つけて削除してしまえばいいのだが、これだとログアウトも消えてしまうので、 if (isset($_SERVER['REMOTE_USER'])) { tpl_action('login', 1, 'li'); } こんな感じにすれば、ログインしているときには「ログアウト」が表示できる。 =====古いテンプレート===== テンプレート[[doku>template:20cones]]を例にする。 ====最近の変更など==== 上と同じで、 tpl_action('recent', 1, 'li'); tpl_action('media', 1, 'li'); tpl_action('index', 1, 'li'); をみつけて、 if (isset($_SERVER['REMOTE_USER'])) { tpl_action('recent', 1, 'li'); tpl_action('media', 1, 'li'); tpl_action('index', 1, 'li'); } ====モバイル対応==== サーチメニューの隣のドロップダウンを表示しているところを見つける。
面倒なので、ログイン中以外はドロップダウンそのものを削ってしまえ!
====ソース表示とリビジョン==== ソース表示とリビジョンも削りたい。でも、ログインしている時は見たい。 $data = array( 'view' => 'main', 'items' => array( 'edit' => tpl_action('edit', 1, 'li', 1, '', ''), 'revert' => tpl_action('revert', 1, 'li', 1, '', ''), 'revisions' => tpl_action('revisions', 1, 'li', 1, '', ''), 'backlink' => tpl_action('backlink', 1, 'li', 1, '', ''), 'subscribe' => tpl_action('subscribe', 1, 'li', 1, '', ''), 'top' => tpl_action('top', 1, 'li', 1, '', '') ) ); if (isset($_SERVER['REMOTE_USER'])) { $data = array( 'view' => 'main', 'items' => array( 'edit' => tpl_action('edit', 1, 'li', 1, '', ''), 'revert' => tpl_action('revert', 1, 'li', 1, '', ''), 'revisions' => tpl_action('revisions', 1, 'li', 1, '', ''), 'backlink' => tpl_action('backlink', 1, 'li', 1, '', ''), 'subscribe' => tpl_action('subscribe', 1, 'li', 1, '', ''), 'top' => tpl_action('top', 1, 'li', 1, '', '') ) ); } else { $data = array( 'view' => 'main', 'items' => array( 'backlink' => tpl_action('backlink', 1, 'li', 1, '', ''), 'top' => tpl_action('top', 1, 'li', 1, '', '') ) ); } =====dokuwikiテンプレート===== テンプレート[[doku>template:dokuwiki]]はすこし違っていた。 ====ログインを消す==== tpl_header.php, 41行目 if (!empty($_SERVER['REMOTE_USER'])) { echo '
  • '; tpl_userinfo(); /* 'Logged in as ...' */ echo '
  • '; } echo (new \dokuwiki\Menu\UserMenu())->getListItems('action ');
    if (!empty($_SERVER['REMOTE_USER'])) { echo '
  • '; tpl_userinfo(); /* 'Logged in as ...' */ echo '
  • '; echo (new \dokuwiki\Menu\UserMenu())->getListItems('action '); }
    ====最近の変更など==== tpl_header.php, 63行目 getListItems('action ', false); ?> getListItems('action ', false); ?> ====モバイル対応==== tpl_hader.php, 60行目 getDropdown($lang['tools']); ?> getDropdown($lang['tools']); ?> ====ソース表示など==== main.php, 76行目 getListItems(); ?> getListItems(); else echo (new \dokuwiki\Menu\RestrictedPageMenu())->getListItems(); ?> inc/Menu/MobileMenu.php をコピーしRestrictedMobileMenu.php を作る。 余計なものを削ってこんな感じにする。 =====config:disableactions===== [[doku>ja:config:disableactions]] これを使うと、表示は消せるが、自分がログインしている時も使えなくなってしまう。 =====plugin:denyactions===== ログインしていないユーザーのいくつかの動作を禁止できるプラグイン。画面からボタンを消しても、URLに直接アクセスされた場合のための対処。 [[doku>plugin:denyactions]] revisions,diff,editを指定。 =====ログインする===== ?do=login でオケ。