Categories
open all | close allTags
CSRF | パソコン | RESTful | Migration | スキンエンジン | 国際化 | OpenID | デュアル・コア | rake | Aptana | テスト | 名称 | アクセス制御 | モデル | タグ | Flash | ドキュメント | 認証 | Subversion | フォームSearch
<%image%>と<%popup%>
コードは書いていますが,まだ動作テストしていないので,あらましは明日あたり。テンプレートなどの細かい実装に移っているので,ようやく今のNucleusのコードを調べたりしています。
パーサ書いているときに気付いたのですが,今のNucleusのパーサーの作りってかなりいい加減。
実は<%と%>って全く区別されていないってご存知でしょうか。試しにスキン中で
%>parsedinclude(head.inc)<%
などと書いてしまっても問題なく動きます。今回のパーサはネストを実現したかったこともあり,そのあたりはきちんと見ています。
あと,一般にはNucleusのパーサってスキンとテンプレートの2段階だと思われていると思いますが,実際にはその下に,アイテム・レベルとイメージ,ポップアップ,メディア処理の2段階が入り,計4段階で動いています。Nucleus3.3ではプラグインのアイテム変数が利用できるようになっていますが,アイテムにはもともと<%image%>などを処理するためにパーサを適用していたので,そこを少し変えるだけでこの機能は追加できました(記憶になかったけど,この部分は僕が書いたコードが採用されているようです)。
最後の段階のイメージなどの処理はテンプレートの中のIMAGE_CODEなどの内容がパースされます。ただし,他の段階のようなフルレベルのパースではなく,同じ名前の変数と置き換えるくらいの単純なやり方です。ちなみにこのテンプレートを書き換えるとプラグインを使わなくてもLightBox.jsを呼び出す程度のものは実現できます。このあたりの自由度は,あまり活用されていない気がしますが,どうでしょう。
というわけで,このあたりの処理を,今は書いています。
Comments
No comments yet. You can be the first!