パスワードを忘れた? アカウント作成
451718 journal

kibayasiの日記: 今日のZope

日記 by kibayasi
○今日の吐血
 manage_page_headerやmanage_page_footerという名前のオブジェクトは、
 自前で用意は、できないらしい。
 きーーーーーーーーーーー!!

プロダクトの中身を、自分好みに変えまくるのは、
正直気がひけるんだけどなあ。。
っていうか、他で使えなくなるかもしれないなあ。。怖いなあ。。
exUserFolderのdtmlファイルで、
<dtml-var manage_page_header> -> <dtml-var standard_html_header>
<dtml-var manage_page_footer> -> <dtml-var standard_html_footer>
に、無理矢理、置き換えてみた。
一応、表示できるようだけど。。
リスクたっけえ。。

もっと危険な方法があることに気がついた。
App/dtml/manage_page_header.dtml
App/dtml/manage_page_footer.dtml
を、書き直すというもの。。
チャレンジャーになりそうな気分。。
<dtml-var standard_html_header>
だけ呼ぶような。。。うひょひょひょひょひょひょ。。

やばいにゃあ。。Zopeの闇の部分に手を出しているような気分。。

追記1
App/dtml/manage_page_header.dtmlを置き換えてみたんだけど、
ちゃんと動かなかった。。謎だ。

追記2
exUserFolder の pgAuthSource.pyに手を入れてみた。
更新ユーザ名をとってこようと悪戦苦闘。。
手始めに、createUser メソッドで、
xxx = self.REQUEST['AUTHENTICATED_USER'].getUserName()
みたいにしたんだけど。。
なんだかなあ。。。もちっとスマートな方法ないんかい。。
できれば、プロダクトのソースには、手を入れたくないにゃ。。

追記3
最終修正結果

・headerとfooter件
exUserFolder/dtmlの下に、manage_page_header.dtmlとmanage_page_footer.dtmlを作る。
中身は、<dtml-var standard_html_header(footer)>
にしておく。
exUserFolder.pyのなかで、DTMLFileを読み込んでいるあたりに、
manage_page_header=DTMLFile('dtml/manage_page_header',globals())
manage_page_footer=DTMLFile('dtml/manage_page_footer',globals())
を追加。
無茶しているのは、承知。

・getUserNameの件
acl_users/pgAuthSource/sqlInsertUserで、
<dtml-sqlvar expr="REQUEST['AUTHENTICATED_USER'].getUserName()" type=string>
と呼ぶことで、解決。
いいのか、これで。。(^_^;)

自前で作るのが面倒だったからとはいえ。。なんだかなあ。。
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
typodupeerror

海軍に入るくらいなら海賊になった方がいい -- Steven Paul Jobs

読み込み中...