質問箱/4178

カテゴリ
サマリスキンの使い分け
バージョン1.4.7
投稿者
状態完了
投稿日2007-11-01 (木) 13:08:56

質問

よろしくお願いします。

一般閲覧用と編集用に分けるため、index.phpのコピーを作りedit.phpとし、index.phpのdefine('PKWK_READONLY', 1);を有効にしました。index.phpではナビゲーターやツールバーも隠したいと思っていますが、スキンを共有しているためindex.phpでだけ隠すということができません。このように○○○.phpによってスキンの使い分ける方法はあるのでしょうか。

どうぞよろしくお願いします。

回答

  • すぐに思いついたアプローチとして、二つ挙げておきます。 -- 2007-11-02 (金) 08:46:34
    • 特定の状態(今回の場合は PKWK_READONLYの設定値)によってスキンを切り替える
      default.ini.phpを以下のように書き換える
        /////////////////////////////////////////////////
        // Skin file
        
        if (defined('TDIARY_THEME')) {
        	define('SKIN_FILE', DATA_HOME . SKIN_DIR . 'tdiary.skin.php');
        } else {
      - 	define('SKIN_FILE', DATA_HOME . SKIN_DIR . 'pukiwiki.skin.php');
      + 	if (PKWK_READONLY) {
      + 		define('SKIN_FILE', DATA_HOME . SKIN_DIR . 'readonly.skin.php');
      + 	} else {
      + 		define('SKIN_FILE', DATA_HOME . SKIN_DIR . 'pukiwiki.skin.php');
      + 	}
        }
    • 特定の状態(今回の場合は PKWK_READONLYの設定値)によってスキンの出力内容を変更する
      pukiwiki.skin.php で、READONLYのときにナビゲーターを隠すなら、以下のように修正
        <div id="navigator">
      - <?php if(PKWK_SKIN_SHOW_NAVBAR) { ?>
      + <?php if(!PKWK_READONLY && PKWK_SKIN_SHOW_NAVBAR) { ?>
        <?php
      もしくは、対象がナビゲーターやツールバー限定なら、もっと単純に、これでもいいかも。
        // Show / Hide navigation bar UI at your choice
        // NOTE: This is not stop their functionalities!
        if (! defined('PKWK_SKIN_SHOW_NAVBAR'))
      - 	define('PKWK_SKIN_SHOW_NAVBAR', 1); // 1, 0
      + 	define('PKWK_SKIN_SHOW_NAVBAR', (PKWK_READONLY ? 0 : 1)); // 1, 0
  • できました。どうもありがとうございました! -- キャッツ? 2007-11-03 (土) 12:26:29

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2014-08-14 (木) 22:37:11
Site admin: PukiWiki Development Team

PukiWiki 1.5.2+ © 2001-2018 PukiWiki Development Team. Powered by PHP 5.6.39-0+deb8u1. HTML convert time: 0.156 sec.

OSDN