文書操作
バインディングてあんた…誰…
containerとかscriptとか
Ploneも2.1.2になり入力フィールドにグラデなんかかかっちゃったりして、おー、新しいぜぇって感じですが、昨日サンプルスクリプトをほんの少しだけいじってみたものの、中身はよくわからん。ポートレットとかがべた塗りなのに入力フィールドだけグラデがかかってるPloneくらい意味不明である。
全然わからんといえばそれまでなのだが、とりあえず目に付いたのはこいつ↓とか
request = container.REQUESTこいつ↓とか。
script.meta_type
ピリオドでひっついてるやつはどうもよくわからん。
何でこいつらに目をつけたかというと、何となくわかりそうだから。わかりそう、というと何だか偉そうですな…。もちろん名前が比較的わかりやすいというのもあるけれど、ZMIをよく見るとヒントくさいのがある。
↑ここらへんである。
containerとかscriptとかいうのはバインディング変数である。バインディングというのは、ひっつけるということである。よくわからんけど、とりあえずバインディングタブを見てみると…
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
できたヾ(゜∀゜)/ウヒョ~
しかし何故absolute_url()には括弧がついてるんだろう…
- カテゴリ
-
Python
- 固定リンク
- ¦
- コメント (0)
- ¦
- トラックバック (0)
- トラックバック用URL:
- http://nagosui.org/Nagosui/COREBlog2/learning-python-binding/tbping
- はじぱい
- ¦
- メイン
- ¦
- FCKEditorを使って挫折する

