(587)
Personal tools
You are here: Home PapaBlog ZPTからDTMLドキュメントを呼び出すには
今の天気
  8℃ 81% 1023hPa S 4m
福岡地方の今の天気
今日は何の日?
燃えるゴミの日、バーロ!!
« November 2008 »
Su Mo Tu We Th Fr Sa
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30            
Recent entries
マインドマップで画像のツールチップ papasan 2008-11-20
シンプル papasan 2008-11-16
Plone用マインドマップ表示プロダクト papasan 2008-11-08
ATPapaMind papasan 2008-11-06
VNCにてスクリーンショット papasan 2008-11-02
VNCサーバーって? papasan 2008-11-01
Windowsのオフィスのアシスタント風Papasan Avatar papasan 2008-10-31
Zope ExternalEditor おしまい papasan 2008-10-30
ExternalEditor その3.5 papasan 2008-10-29
ExternalEditor その3 papasan 2008-10-29
ExternalEditor その2 papasan 2008-10-29
Zope ExternalEditorに大敗 papasan 2008-10-30
Pythonのインデント papasan 2008-10-24
ちっちゃなマインドマップ papasan 2008-10-23
CoreBlog2に「ちっちゃいマインドマップ」を表示するには? papasan 2008-10-23
1年以上かかったFreeMindFlashBrowserのコンパイル papasan 2008-10-22
FreeMindFlashBrowserみたび papasan 2008-10-21
Flex3 JDKでActionScript3を試す papasan 2008-10-20
魔流さんち、コメントできない!! papasan 2008-10-19
FreeMindFlashBrowserふたたび(七瀬ふたたび風に) papasan 2008-10-19
hostコマンドを使ってみる papasan 2008-10-15
ロボットうじゃうじゃ papasan 2008-10-10
おでん papasan 2008-10-09
ハンコは大失敗!! papasan 2008-10-05
はんこテストその2 papasan 2008-10-04
はんこテスト papasan 2008-10-04
はんこの情報をプロパティに papasan 2008-09-30
はんこセットの表示からペーストまで papasan 2008-09-28
はんこ、おひとつ、いかが? papasan 2008-09-26
何時になったら涼しくなるのだあ、えっ!! papasan 2008-09-24
Recent comments
Re:シンプル seko 2008-11-19
Re:シンプル Reiko 2008-11-18
Re:シンプル Papasan 2008-11-17
Re:シンプル seko 2008-11-17
Re:シンプル Papasan 2008-11-17
Re:シンプル Reiko 2008-11-17
Re:Plone用マインドマップ表示プロダクト Papasan 2008-11-11
Re:Plone用マインドマップ表示プロダクト seko 2008-11-11
Re:PlaceDrivenタスクのマーカー Papasan 2008-11-09
Re:PlaceDrivenタスクのマーカー seko 2008-11-09
Re:ATPapaMind Papasan 2008-11-07
Re:ATPapaMind seko 2008-11-07
Re:Windowsのオフィスのアシスタント風Papasan Avatar Papasan 2008-11-02
Re:Windowsのオフィスのアシスタント風Papasan Avatar Reiko 2008-11-02
Re:Windowsのオフィスのアシスタント風Papasan Avatar 魔流 2008-11-02
Re:Windowsのオフィスのアシスタント風Papasan Avatar Papasan 2008-11-01
Re:Windowsのオフィスのアシスタント風Papasan Avatar Reiko 2008-11-01
Re:Windowsのオフィスのアシスタント風Papasan Avatar Papasan 2008-10-31
Re:Windowsのオフィスのアシスタント風Papasan Avatar Papasan 2008-10-31
Re:Windowsのオフィスのアシスタント風Papasan Avatar 魔流 2008-10-31
Re:Windowsのオフィスのアシスタント風Papasan Avatar Reiko 2008-10-31
Re:Flex3 JDKでActionScript3を試す Reiko 2008-10-31
Re:ExternalEditor その2 Papasan 2008-10-29
Re:ExternalEditor その2 owa 2008-10-28
Re:Flex3 JDKでActionScript3を試す Papasan 2008-10-28
Re:Flex3 JDKでActionScript3を試す Reiko 2008-10-28
Re:Flex3 JDKでActionScript3を試す Papasan 2008-10-26
Re:Flex3 JDKでActionScript3を試す seko 2008-10-26
Re:Flex3 JDKでActionScript3を試す Papasan 2008-10-26
Re:Flex3 JDKでActionScript3を試す seko 2008-10-26
Recent trackbacks
いないいないばあ〜 なにを読んでも なにを見ても聞いても フェルデンクライス 2008-10-03
はんこ♪ハンコ♪♪判子 なにを読んでも なにを見ても聞いても フェルデンクライス 2008-09-28
Pythonで連想検索エンジンを使ってみる Lights on Zope 2008-05-21
恋するニワトリ 文字化け問題を解決する Lights on Zope 2008-05-17
PapaTubeはWeb5.0だ(嘘だ。。。) Lights on Zope 2008-05-12
COREBlog2のトラックバック先は? PapaBlog 2008-03-29
COREBlog2のトラックバック先は? PapaBlog 2008-03-29
トラックバックのテスト PapaBlog 2008-03-29
CSSもいじってみる 桂秋の夜の夢 2008-01-12
6日経って「世界のナベアツ問題」に反応してみる GJAX IS UNDER CONSTRUCTION! (※日本語ブログ) 2008-01-07
あけましておめでとうございます Junk Station 2008-01-02
A Happy New Year ! Macintosh Classic lll/AV 2008-01-01
Tugboat.GTDをVMWAREで動かして別のApacheで公開 Lights on Zope 2007-12-15
Ploneで統合Windows認証 (6) Apache と Plone を FastCGI で... Developer @ ADJUST 2007-11-18
「ZWikiにCaptcha導入」がPapaTipsに追加 Lights on Zope 2007-09-27
魔流さんのxoops完全復活 HAGE88xoops-weblog 2007-08-01
トラックバックログのテスト PapaBlog 2007-07-13
PEPPERMINTさんからプレゼント(その2) Peter's Works Annex 2007-06-20
正常トラックバックテスト 実体参照 エージェントパパブログ 2007-06-20
正常トラックバックテスト 実体参照 エージェントパパブログ 2007-06-20
岡田 斗司夫 (著) 「世界征服」は可能か? Lights on Zope 2007-06-19
皆もすなる、Papasanや〜い Macintosh Classic lll/AV 2007-06-19
Papasanちへ〜〜〜〜その2 colin's HOME 2007-06-19
Papasanへトラックバック発射 うぇブログ-hage88's BLOG-玄箱HG鯖 2007-06-19
スポーツの秋 象歩ブログ 2007-04-23
デリミタテスト エージェントパパブログ 2007-04-23
デリミタテスト5 改行なし エージェントパパブログ 2007-04-23
Ping送信テスト to Papasan to papasan Peter's Works Annex 2007-04-23
デリミタ再再再再テスト エージェントパパブログ 2007-04-23
Papasanへテスト Peter's Works Annex 2007-04-23
 
Document Actions

ZPTからDTMLドキュメントを呼び出すには

by Papasan posted at 2008-08-13 18:08 last modified 2008-08-13 18:49

ZPT(Zopeのページテンプレート)はタグ内< 〜 > に記述します。

一方、DTML(Zopeの昔のテンプレート)は、どこでも記述できます。このどこでも というのがいいですねえ。

例えばJavaScriptの中だってOKです、<dtml-...> 〜 </dtml-...> というのがDTMLの記述です。:

 <script type="text/javascript">
     // ページ表示時の初期処理
     // InputDraw(Viewer(サムネイル))オブジェクトの生成
     var view<dtml-var number> = new InputDraw("inputdraw.swf", "viewer<dtml-var number>", {
         src:              '<dtml-var url>/pe_get_entry_svg',
         width:            '<dtml-var viewer_width>',
         height:           '<dtml-var viewer_height>',
         animation:        "120",
         background_image: '<dtml-if background_image_url><dtml-var "REQUEST.URL3">/<dtml-var  background_image_url></dtml-if>'
     });
 </script>

勿論、HTMLの中だって。:

 <a href="<dtml-var url>" target="_blank" title="<dtml-var title>を表示" alt="<dtml-var title>を表示">
     <div id="entry_container" style="margin: 5px; float:left; text-align: center; width:150px; height:180px; border: 1px solid #efefef; cursol: pointer;">
         <div id="title" style="width: 148px; height: 1.2em; overflow: hidden;"><dtml-var title></div>
         <div id="viewer<dtml-var number>"></div>
     </div>
 </a>

私は、昔の人間なので昔のページテンプレートをよくつかいます(単に新しいものが覚えられないだけですが)。

前置きが長くなりましたが、今回ZPTからDTMLドキュメントを呼出し、パラメータを渡してみました。以外と簡単にできちゃいます。

  • ZPT(pe_entries_view ):
     <!-- DTML pe_entry call -->
     <tal:recent_entries repeat="entry_obj here/pe_get_recent_entries">
         <div
             tal:define="entry_number repeat/entry_obj/number;    ZPTのtal:defineでDTMLドキュメントに渡すパラメータを定義しています。
                 entry_url python:entry_obj.absolute_url();
                 entry_title python:entry_obj.title;
                 canvas_width python:entry_obj.canvas_width;
                 canvas_height python:entry_obj.canvas_height;
                 canvas_width_height python:context.pe_get_width_height(148, canvas_width, canvas_height);
                 entry_viewer_width python:canvas_width_height[0];
                 entry_viewer_height python:canvas_width_height[1];
                 entry_background_image_url python:entry_obj.background_image_url"
    
             ↓ tal:contentでpython:を呼び出すふりをしてDTMLドキュメントのpe_entryを呼び出します、()内はパラメータです。
             tal:content="structure python:context.pe_entry(number=entry_number, url=entry_url, title=entry_title, viewer_width=entry_viewer_width, viewer_height=entry_viewer_height, background_image_url=entry_background_image_url)">
        </div>
     </tal:recent_entries>
    
  • DTMLドキュメント(pe_entry )

    DTMLドキュメントの中身はJavaScriptとHTMLが記述してあります。:

      <script type="text/javascript">
          // ページ表示時の初期処理
          // InputDraw(Viewer(サムネイル))オブジェクトの生成
          var view<dtml-var number> = new InputDraw("inputdraw.swf", "viewer<dtml-var number>", {
              src:              '<dtml-var url>/pe_get_entry_svg',
              width:            '<dtml-var viewer_width>',
              height:           '<dtml-var viewer_height>',
              animation:        "120",
              background_image: '<dtml-if background_image_url><dtml-var "REQUEST.URL3">/<dtml-var background_image_url></dtml-if>'
          });
      </script>
    
      <a href="<dtml-var url>" target="_blank" title="<dtml-var title>を表示" alt="<dtml-var title>を表示">
          <div id="entry_container" style="margin: 5px; float:left; text-align: center; width:150px; height:180px; border: 1px solid #efefef; cursol: pointer;">
              <div id="title" style="width: 148px; height: 1.2em; overflow: hidden;"><dtml-var title></div>
              <div id="viewer<dtml-var number>"></div>
          </div>
      </a>
    

下手な鉄砲も数打てば、ときには当たりますです。

The URL to Trackback this entry is:
http://papasan.org/papablog/587/tbping

(トラックバック元のページには"Papasan"や"papasan"または言及リンクの記述が必要です。)

Add comment

You can add a comment by filling out the form below. Plain text formatting.

(Required)
(Required)
(Required)
This helps us prevent automated spamming.
スパム防止にご協力を!!

画像の文字を入力して下さい。

ハンコを貼り付けるには、ログイン後、確認ボタンをクリックして下さい。