COREBlogを読む(categorylist_html)

contentsの中身を上から読んでいくとなると次はblog_footerとblog_headerなんですが、ほとんどhtmlなのでパスして、categorylist_htmlを見てみることにしました。

categorylist_htmlは、あるカテゴリに属するエントリをすべて表示するためのものです。サイドメニューのCATEGORIESに表示されているカテゴリをクリックするときに使われるものですな。



さっそく中身をみていくことにします。
最初はヘッダとバナーの読み込みなのですっとばして、その次から。

<dtml-call "REQUEST.set('nocomment',1)">
<dtml-call "REQUEST.set('nocommentform',1)">

これはindex_htmlにもあった記述で、コメントとコメントフォームを隠すためにnocommentおよびnocommentformという変数に1を設定しているようです。
が、index_htmlのとき同様、1を0に変えてみても何も変化ナス…。これは今後の課題にしときます。



次!
dtml-ifによる条件分岐ですな。

<dtml-if cat_id>
(中略)
<dtml-else>
cat_id is missing.
</dtml-if>


cat_idが存在し、空でなければ(中略)部分を実行し、cat_idが存在しない、または空であるならば「cat_id is missing」を表示する、と。

サイドメニューのCATEGORIESにあるカテゴリのリンクを見てみると、なるほど、「ブログURL/categorylist_html?cat_id=数字」という形になってますな。
cat_idというのはおそらくcategory idという変数で、管理画面のcategoryタブではどのカテゴリにどのidが割り当てられているかがわかりますね。

確認のため、「ブログURL/categorylist_html」にアクセスする(cat_idを指定しない)と、「cat_id is missing」と表示されました。

それじゃあ(中略)部分を少しずつ見てみたいと思います。

<dl class="category-banner">
<dtml-with "getCategory(id=cat_id)">
<dt>Entries : Category [ <dtml-var name> ] </dt>
<dd><dtml-var description missing=""></dd>
</dtml-with>
</dl>

まずはカテゴリバナーを表示する部分ですな。
こんなやつ↓


さてここで問題が。dtml-withが出てきちゃいました…。
これはindex_htmlを読んだときも出てきましたが、どーも、よくわからん。
ここではgetCategoryというやつが正体不明だし、しかもこのときになんでdtml-withを使うのかがわからん。

理解はまったく不能。うーむかっこわるい。
getCategoryって何なんだろうなぁ…
あうー。パス…というかお手上げ。



次の部分は一度みたことがあります。

<dtml-in category_list>
<a href="
<dtml-var blogurl missing="">
/categorylist_html?cat_id=<dtml-var id>">
[<dtml-var name missing="category name is missing">]
</a>
 
</dtml-in>
</div>


これは全てのカテゴリの名前を表示するわけですな。
category_listの中にはおそらく、登録されているカテゴリがつまってるんでしょう。dtml-inによってカテゴリの数だけ、その名前を表示するわけですな。おそらく。



そして最後。

<dtml-in "rev_category_entry_items(category_id=cat_id)">
<dtml-var entry_body>
<dtml-else>
<div id="content">
There are no entry.
</div>
</dtml-in>

category_idがcat_idなものを、rev_category_entry_itemsによって逆さまにしといて、その中のentry_bodyを表示するわけですな。
エントリがない場合は「There are no entry.」を表示する、と。



うーむ。いかん。さっぱりわからん。
dtml-についてはなんとなくつかめてきたけど、使われてる変数の正体がまったくわかりませぬ…。contentsにあるものだけを見てもあんまり勉強にならんのかな。
まぁとりあえずもう少し続けて見ることにします…



特に中身が正体不明なものリスト
・getCategory
・rev_category_entry_items
トラックバック用URL:
http://nagosui.org/Nagosui/COREBlog2/29/tbping

Re: COREBlogを読む(categorylist_html)

投稿者 ats 投稿日時: 2004年07月14日 00時16分

このシリーズ,専用のカテゴリに独立してわけていただくと
リンクしやすくてよいと思いました

Re: COREBlogを読む(categorylist_html)

投稿者 nyusuke 投稿日時: 2004年07月14日 12時55分

ご意見どうもです(・´∀`・)
カテゴリ再編してみることにします。

Re: COREBlogを読む(categorylist_html)

投稿者 ats 投稿日時: 2004年07月16日 08時22分

>nyusukeさん

カテゴリ再編ありがとうございました
新カテゴリをリンク集に加えさせていただきました;-)

Re: COREBlogを読む(categorylist_html)

投稿者 nyusuke 投稿日時: 2004年07月16日 23時58分

わざわざご連絡ありがとうございます。
精進します(´ω`)…

コメントを追加

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

(必須)
(必須)
(必須)
(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日