Categories
open all | close allTags
認証 | 名称 | フォーム | テスト | RESTful | rake | Subversion | スキンエンジン | JustPosted | Aptana | Flash | デュアル・コア | タグ | アクセス制御 | ドキュメント | モデル | パソコン | 国際化 | CSRF | MigrationSearch
サイドバーのウィジェッツ化実装の考察
管理画面のロジックとデザインをできるだけ切り離そうと作業中なのですが,案外難航しています。忙しくて一週間ほど全くプログラムできなかったのもあるのですが,もうちょっとかかりそうです。それはそれとして,アイディアレベルの話ですが,サイドバーをウィジェッツ化できるようにしたいと思ってます。実装としては,
①スキンの中に<%sidebar%>というスキン変数を置くことで,そこがウィジェッツ対応になる。ただし,これはインクルードファイルではなくスキンパーツ(レイアウト含む)の中にないといけない
②<%sidebar(left)%>みたいに名前も付けられる。複数置くときは名前が必須(一つは空でもいい)
③このスキン変数の自体はスペシャルスキンパーツで名前がsidebar(名前付きの場合はsidebar_leftのようにアンダースコアでつなげる)
④標準スキン変数でサイドバー対応のものはパーサのクラスで sidebar :categorylist のように宣言する
⑤これらのスキン変数のために call_categorylist のようにメソッドを用意(なくても動く)。このメソッドはサイドバーで使う名前を返す。メソッドがない場合はcategorylistを言語ファイルで変換
⑥プラグインの場合は event_sidebar を実装することでサイドバー対応になる
⑦event_sidebar はウィジェッツの名前を返す
⑧スキンパーツの編集画面からそのスキンパーツ内のサイドバーを編集する画面を呼び出す
⑨ドラグアンドドロップで編集できる
⑩ウィジェッツの実体は
<div class="sidebar"><h3><%text(プラグイン名)%></h3><div class="プラグイン名"><%プラグイン名%></div></div>
つまり,ウィジェッツ対応のスキンはCSSでクラスsidebarを実装する必要がある。
このほか,対話的にパラメータを変える仕組みを入れたいと思っていますが,そこはまだ詰めていません。
Comments
No comments yet. You can be the first!