Categories
open all | close allTags
名称 | Aptana | 認証 | Subversion | テスト | ドキュメント | スキンエンジン | カテゴリ | rake | Flash | 国際化 | RESTful | JustPosted | デュアル・コア | Migration | フォーム | rubygems | パソコン | タグ | CSRFSearch
スキン周りに関する仕様のまとめ
Nucleusのスキン周りについてTwitterでいろんな話が出ていたので,Foodyn CMSにおける仕様と実装についてまとめておきます。Foodynはスキン(他のCMSだとテンプレートといったほうがいいのかな?)の処理系(エンジン)を複数載せられますが,ここでは標準組み込みであるNucleus互換のスキン・エンジンについてだけまとめます。
まず,現状のNucleusのスキンには分かりやすさなどにおいていくつか問題があります。
①DBに保存されているスキンと,ファイル・ベースでインクルードする部分があり,編集画面もそれぞれ別になる
②さまざまなスキンタイプが分かりにくい
③スキンとテンプレートの関係が分かりにくい。テンプレートの中にはアイテムの表示に関係するもの,カテゴリーの表示に関係するもの,さらには日付表示に関係するものや,画像表示に関係するものなどが混在しており,どこで何が使われているのか理解するのが難しい
④特別なページを作る機能が少ない
Foodynではこれらについて次のような改善策を取ります。
①Nucleusのスペシャルスキンパーツをインクルードする機能を標準で持ちます(Nucleusでファイルをインクルードするのに使うparsedincludeを拡張)。基本的にDBベースの編集だけで済むようになります。
②「レイアウト」スキンを使うと,各スキンに固有な部分(例えばアイテムページにおける<%item%>スキン変数)はデフォルトのものが利用でき,何も作らなくて構わない(もちろんデフォルトで不満がある場合は作っても構わない)
③テンプレートにデフォルト機能があるので,意識してテンプレートを使わなくてもよくなります。例えば<%categorylist%>だけで動くようになります。また,インライン・テンプレート機能を使うことで,スキンの中にテンプレートを埋め込めます。
また,スキンに対してメインのテンプレートとアイテムスキン用のテンプレートという二つのテンプレートを属性として持つようにします(未実装)。標準ではスキン名に「/index」「/item」をつけたものがテンプレート名になります。これらはスキンのデフォルトテンプレートとして働きます(ない場合はシステムのデフォルトが使われます)。
これらのスキンに付属するテンプレートはスキン編集画面から直接パート(例えばカテゴリ表示関係)ごとに呼び出して編集できるようにします(未実装)。
④ブログに付属しないアイテムを作ることができ,このアイテム・ページに自由に名前を付けることによって,さまざまなページが作れます。
トップ・ページの機能があり,トップページだけ専用のスキンパートを利用できます。
Comments
No comments yet. You can be the first!