wiki.zope.jp
WontUsePARENTS
   
RecentChanges WikiHelp WikiPractice JumpSearch

クックブック : 忌まわしき 'PARENTS[-1]?' から解放される方法

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)


コメント

Last edited Sun, 10 Sep 2006 02:40:44 +0900 Edit this page