Category:Design, CSS

スキンのブロック化と、ロジックとデザインの分離

関連

メッセージ

次期PukiWikiへの願望です。

1.44以降、スキン,CSSが少し複雑になってきて、PHPに詳しくない僕のようなものにはカスタマイズしにくくなってきています。*1 tDiaryラッパーで簡単なカスタマイズ方法が提供されたとはいえ、表示要素のカスタマイズはやはりスキンまで手を入れたくなります。

Smartyを入れるまではいかなくっても、自作スキンページで紹介されているPukiwiki and Smartyで も述べられているように、ローカルのホームページ作成ソフトである程度カスタマイズできるように、スキンを以下のような方法で整理するしていくというのは今後どうでしょう?

  1. レイアウトを構成するブロックに整理する
  2. 各ブロックを構成する要素を呼び出す部分はSmartyのように{pw-hoge}とか、MTやColdFusionのように<pw-hoge />のような方法で記述し、ローカルで編集可能にする*2
  3. レイアウトに関係ないロジックの要素、条件分岐が必須となるもの(DTDの分岐とか)は極力個別のオブジェクトにしてスキンの外にだす。
  4. 1つのスキン+条件分岐をやめ、表示パターンによって複数のスキンを作る方向にする(閲覧スキン、編集スキン、検索スキンなど)ページの状態によってどのスキンを使うかはスキンの上流で振り分けるようにする(スキン内で判断しない)
  5. 複数スキンにしても共通レイアウト要素はインクルードで共有することで見た目の統一を図ることができるようにしておく <pw-Includ:hoge/hoge>のようなもの?
  6. CSSファイルはPHP化しない(印刷用、表示用は別に個別に用意する)
  7. UA固有のバグに対する対応をスキン側でムリにしない。*3

PHPってHTMLとプログラムをごちゃ混ぜにできる気軽さが売りなようなところもあったと思うので、プログラムができる人にはあっちこっちにファイルが散在しちゃって面倒なだけかなぁ...そこがPHPの長所でもあり、短所でもあるとおもうんだけど、ぼちぼちスキンは、ロジックとデザインをわけてほしいなぁと...*4




*1 特に条件分岐が多いところ
*2 Smartyのほうが要素がローカルでも見えるから使い勝手がいいかも?Dreamweaverもたしかこの形式で動的部分の置換要素を記述していたと思う...
*3 標準CSS +UA振り分けライブラリ→バグ箇所のみ上書き用CSS
*4 がんばってPHPとも格闘してんだけど...
*5 抽象化レイヤーとしての最たるものは tDiaryスキンですね。tDiaryのテーマを利用可能にするこそがあのスキンの仕事なのですから
*6 すでにありぃさんが自作スキンで実現されていますね。僕もやってみたいと思っています。次期バージョンはテーブルとはさようならかなぁ
*7 改造するというより、バリエーションを増やすという方向がベスト

トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2005-02-07 (月) 21:36:25
Site admin: PukiWiki Development Team

PukiWiki 1.5.4+ © 2001-2022 PukiWiki Development Team. Powered by PHP 8.2.12. HTML convert time: 0.215 sec.

SourceForge