プロダクトインターフェース作っていて、やっと分かったこと。
一番は自分が何もしらなかったこと。やっぱりいろんなプロダクトの UI ってのはみんな苦労して作ったんだなといまさらながら思います。
データの持ち方で少しだけ分かったことですが (鯖側の場合)
REQUEST.form -- 基本的にはこれでクライアントからの情報を取り込む
REQUEST.set() -- manage_hoge.dtml に情報を送る(追加する)
REQUEST.SESSION -- 本来クライアント情報を持つべきものかもしれないが、REQUEST に保持できない場合(dtmlの中のリンクの先など)に利用させてもらう(邪道かな?)
オブジェクトの揮発属性(self._v_hoge)は zope オブジェクト生成時に __set_state__() で一回だけ設定されるようにすること。つまり読み込み専用。書き込んでしまうと zope のキャッシュ処理の関係で分けのわからないことになる。
というわけでやっとブラウザの「元に戻る」ボタンにも、なんとなく対応できたようです。それはこちらの話...
Zopeプロダクト開発メモ
zope product 開発の備忘録
投稿フォーム: