- 追加された行はこの色です。
- 削除された行はこの色です。
**[[質問箱4/178]] [#m4eabdc4]
|RIGHT:70|LEFT:410|c
|~サマリ|スキンの使い分け|
|~バージョン|1.4.7|
|~投稿者||
|~状態|質問|
|~投稿日|&new{2007-11-01 (木) 13:08:56};|
***質問 [#b2532f8d]
よろしくお願いします。
一般閲覧用と編集用に分けるため、index.phpのコピーを作りedit.phpとし、index.phpのdefine('PKWK_READONLY', 1);を有効にしました。index.phpではナビゲーターやツールバーも隠したいと思っていますが、スキンを共有しているためindex.phpでだけ隠すということができません。このように○○○.phpによってスキンの使い分ける方法はあるのでしょうか。
どうぞよろしくお願いします。
***回答 [#ca3f9ef4]
- すぐに思いついたアプローチとして、二つ挙げておきます。 -- &new{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
#comment