経緯:

p0t: コンポーネント化されたテンプレパーツ

Mojavi Smartyでコンポーネント化されたテンプレートはどうやって作るんだろうか・・・。

悩み。

p0t: Action呼び出しプラグイン

テンプレ中でActionChainでパーツを呼び出す。 なんで今までこれ気づかなかったんだろ。

解決。

本題:

Webアプリのコンポーネント化されたテンプレパーツが好きだ。

他にも好きな奴がいるらしい。JSR 168にPortletなんて仕様もあった。

JSR-000168 Portlet Specification

いやいやいや、こんなメンドイやつじゃないっつーの。ロジックとテンプレ(見た目)がひとまとまりになってればなんでもいいっつーの。

前述のmojavi_actionプラグインによって解決に見えたが、あれには2つ問題があります。

  1. エラーが拾えない
  2. 遷移が出来ない
1についてはこの間のEthna開発ミーティングでも話が出てました。(そういう仕組み入れてくれるらしい。あつい) Action → View → テンプレ という風にコンポーネントを呼び出す場所を後にもってくる程楽にはなるけどエラーが拾い辛い。

2は例えばログインのコンポーネントがあったとして、ログイン失敗したときに元の画面に遷移できない。いくつものコンポーネントが集まって一つの画面になってるのに遷移先はそのコンポーネントのみの画面に遷移しちゃうんです。

Paul Grahamの教え子(じゃない)はどうやってるのかなと思い、最近のUI的ヒットであるreddit.comを見てみました。

reddit_1.png

これのログイン枠も同じ問題を持ってるハズ!

reddit_2.PNG

?error=1だとinvalid loginで、

reddit_3.PNG

?error=2だとusername already takenかよ!!!

Comments


Option