*スキンを定義でなく変数指定にしてほしい(skinプラグイン) [#v72a9e9c]
-ページ: BugTrack
-投稿者: [[みこ]]
-優先順位: 重要
-状態: 提案
-カテゴリー: 本体新機能
-投稿日: 2004-07-16 (金) 01:19:30
-バージョン: ALL
**メッセージ [#n43d9fc8]
スキンが、定義値になっているため動的なスキンの変更ができない。もし(プラグイン作者以外に)セキュリティリスクがないならば、変数にしてプラグインで再定義できるような感じにしてほしいです。
例:1.4.3の互換を保ちつつ変更する場合
:default.ini.php|
11c11,12
< define('SKIN_FILE',SKIN_DIR.'pukiwiki.skin.'.LANG.'.php');
---
> define('SKIN_FILE_DEFAULT',SKIN_DIR.'pukiwiki.skin.'.LANG.'.php');
> $skin_file = SKIN_FILE_DEFAULT;
func.php/html.php はスキン定義がないときに、$skin_fileから読み込むようにします。
:html.php|
13a14
> global $skin_file;
102c103,107
< die_message(SKIN_FILE.'(skin file) is not found.');
---
> if (!file_exists($skin_file)||!is_readable($skin_file)) {
> die_message(SKIN_FILE_DEFAULT.'(skin file) is not found.');
> } else {
> define(SKIN_FILE,$skin_file);
> }
:func.php|
395a396,397
> global $skin_file;
>
406a409,413
> elseif ($skin_file != '' && file_exists($skin_file) && is_readable($skin_file))
> {
> define(SKIN_FILE,$skin_file);
> catbody($title,$page,$body);
> }
ちなみに、私のサイトではこれを追加して [[skinプラグイン>plus:Plugin/skin.inc.php]] を作成しています。
-関連リンク
-- [[BugTrack/629]] CSS編集機能 (作成したい)
--[[official:質問箱/275]] スタイルシートの個別指定
--%% official:続・質問箱/214 %% 任意のページのみ別のスキンを適用 [[official:Q&A/デザイン・CSS#d9af7915]]
----
-ふむふむ。skinの動的切り替えの実現ですね。[[BugTrack/629]]でも取り上げている通り、これもまたタイムリーな話題だと思います。 -- [[henoheno]] &new{2004-07-16 (金) 20:30:36};
-デフォルトの状態では、skinファイルの名称にLANGを含めなければならない、という状況も以前から問題だと思っていました。こちらも、昨日[[BugTrack/633]]に書いたような手順を持ち込むことにより、対策できればと思います。 -- [[henoheno]] &new{2004-07-16 (金) 20:35:55};
-skinやcssなどのデザイン要素を、可能ならばページ毎に切り替えたい、というニーズはよく解ります。一方で、プラグインから、特にページ内に記述したプラグインをトリガにして動的に変更できる様に、変更できる余地を追加してしまう、という実現方法は、システムから見ると少々危なっかしくなる様に思います (^^; うまい手はないかしら・・・ -- [[henoheno]] &new{2004-07-16 (金) 20:59:53};
--そのあたりはわたしもこれを提案するときにかなり悩んだのですが、プラグイン作者=PukiWiki上級者(=PHPにある程度精通している人)とわりきるほうがいいような感じがします。(その代わり、オフィシャルではスキン関連のプラグインを含めないでもいいかと・・・⌣) -- [[みこ]] &new{2004-07-16 (金) 21:14:07};
-- コメントありがとうございます。そうですね。配布するものは安全寄りに作っておいて、(リスクの提示込みで)カスタマイズ方法を別途紹介する、というのは現状の%%お年頃%%落としどころですね :) -- [[henoheno]]
-とまぁ応用の仕方で悩む前に、この問題については、動的切り替えを賢くできる様にする下ごしらえが要だと思います。まずはそのあたりからですね :) -- [[henoheno]] &new{2004-07-16 (金) 21:10:03};
-ふう、スキンもCSSも一本化したし、やっと糸口ができてきましたね :) -- [[henoheno]] &new{2004-10-02 (土) 13:16:33};
- 関連: [[pukiwiki:自作プラグイン/tdiary.inc.php]](tDiaryテーマ設定プラグイン) -- &new{2010-09-28 (火) 20:49:00};
- meta http-equiv -- [[meta http-equiv]] &new{2012-09-04 (火) 23:49:15};
#comment