202/1 Run
ZopeのDTMLでソースをゴリゴリ書いていくと、どうしても何処かにあるオブジェクトを「絶対パス」で参照したくなるものです。
そんなときは、まぁ普通は :
<dtml-call "PARENTS[-1].SQL.Employee.addNewSQL(name = name)">
とかやって呼ぶ訳ですが、はっきり言って 'PARENTS[-1]?' って全部大文字だし指がツりそうになるほど打ちにくい。
そこで、よく使うパスはあらかじめ変数にバインドしておけば幸せ度アップ間違いなし。
standard_html_header のようにサイト内で共通に使われるオブジェクトに以下のように書いておきます。:
<dtml-call "REQUEST.set('SQL', PARENTS[-1].SQL)">
これで :
<dtml-call "SQL.Employee.addNewSQL(name = name)">
と非常にそれらしくオブジェクトの参照を書けるようになります。
あと、オブジェクトの絶対位置が変わっても、このバインドだけ変えれば他のソースの変更をしなくてもOKというおまけ付きです。(Run)
<dtml-in "SQL.select()">
<dtml-var name>
</dtml-in>
| Last edited Sun, 10 Sep 2006 02:40:44 +0900 | Edit this page |