バインディングてあんた…誰…

containerとかscriptとか

Ploneも2.1.2になり入力フィールドにグラデなんかかかっちゃったりして、おー、新しいぜぇって感じですが、昨日サンプルスクリプトをほんの少しだけいじってみたものの、中身はよくわからん。ポートレットとかがべた塗りなのに入力フィールドだけグラデがかかってるPloneくらい意味不明である。

全然わからんといえばそれまでなのだが、とりあえず目に付いたのはこいつ↓とか

request = container.REQUEST
こいつ↓とか。
script.meta_type

ピリオドでひっついてるやつはどうもよくわからん。

何でこいつらに目をつけたかというと、何となくわかりそうだから。わかりそう、というと何だか偉そうですな…。もちろん名前が比較的わかりやすいというのもあるけれど、ZMIをよく見るとヒントくさいのがある。


060124-4

↑ここらへんである。

containerとかscriptとかいうのはバインディング変数である。バインディングというのは、ひっつけるということである。よくわからんけど、とりあえずバインディングタブを見てみると…


060124-5

contextの綴りが違っているのがわかる(違

contextじゃなくてcontainerはスクリプトが入ってる容器であるオブジェクト(ここではPythonというフォルダオブジェクト)、script はスクリプト自体を指してると理解していいのだろうか。まー、そういうことにしておこう。

さてはこいつらを使ってほげほげできるということだな。ふつーならいろいろ自分で用意しなきゃいけないものが最初から用意されてるとは親切ではないか。さっそく遊んでやろう。

書式はよくわからんが、サンプルスクリプトの中で

script.title
script.meta_type
container.absolute_url()

こんな使われ方をしてるわけだから、

「container.title」とか「container.meta_type」とか「script.absolute_url()」とかしてやれば、コンテナのタイトルとかメタタイプとか、スクリプトのURLとかが得られるハズ。ということはたとえば…

print "コンテナのタイトルは「", container.title, "」で、コンテナのメタタイプは「", container.meta_type, "」ナリよ"
なんていうふうにすれば、コンテナのタイトルとメタタイプを教えてくれるハズ。
ということで新しくcontainer_infoというPythonScriptを追加。わからない所はいじらずにそっとしておくのが味噌だと思う。
# コンテナのタイトルとメタタイプを教えてくれるコード:

# Import a standard function, and get the HTML request and response objects.
from Products.PythonScripts.standard import html_quote
request = container.REQUEST
RESPONSE = request.RESPONSE
print "コンテナのタイトルは「", container.title, "」で、コンテナのメタタイプは「", container.meta_type, "」ナリよ"

return printed
これを呼んでやると。

060125-1

できたヾ(゜∀゜)/ウヒョ~
しかし何故absolute_url()には括弧がついてるんだろう…

カテゴリ
Python Python
トラックバック用URL:
http://nagosui.org:8080/Nagosui/COREBlog2/learning-python-binding/tbping
コメントを追加

下のフォームに記入してコメントを追加できます。平文テキスト形式。

(必須)
(必須)
(必須)
(Required)
Enter the word

このBlogについて
Plone, Zope, Pythonなどのトピックについてのメモです。
カテゴリ
Plone (98)
Plone Products (23)
COREBlog2 (31)
COREBlog1 (29)
ReadingCOREBlog (7)
Zope (66)
Turbogears (18)
Django (12)
Python (25)
Linux (30)
Nagosui (12)
Design (33)
Misc (48)
moblog (5)
最近のエントリ
浜松ブラスバンド定期演奏会2008 nyusuke 2008年11月24日
Glossy Horizontal Menuを使う nyusuke 2008年11月17日
第3回Python東海終了 nyusuke 2008年11月17日
Universalじゃない件 nyusuke 2008年11月15日
最近のコメント
Re:WebデザイナーのためのDjangoはじめの一歩 nyusuke 2007年06月01日
Re:WebデザイナーのためのDjangoはじめの一歩 pateo 2007年05月31日
Re:東海Python Workshop 01終了 nyusuke 2007年05月31日
Re:東海Python Workshop 01終了 kfuruhata 2007年05月30日