2004/07/13
文書操作
COREBlogを読む(categorylist_html)
contentsの中身を上から読んでいくとなると次はblog_footerとblog_headerなんですが、ほとんどhtmlなのでパスして、categorylist_htmlを見てみることにしました。
categorylist_htmlは、あるカテゴリに属するエントリをすべて表示するためのものです。サイドメニューのCATEGORIESに表示されているカテゴリをクリックするときに使われるものですな。
さっそく中身をみていくことにします。
最初はヘッダとバナーの読み込みなのですっとばして、その次から。
これはindex_htmlにもあった記述で、コメントとコメントフォームを隠すためにnocommentおよびnocommentformという変数に1を設定しているようです。
が、index_htmlのとき同様、1を0に変えてみても何も変化ナス…。これは今後の課題にしときます。
次!
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」と表示されました。
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」と表示されました。
それじゃあ(中略)部分を少しずつ見てみたいと思います。
まずはカテゴリバナーを表示する部分ですな。
こんなやつ↓

さてここで問題が。dtml-withが出てきちゃいました…。
これはindex_htmlを読んだときも出てきましたが、どーも、よくわからん。
ここではgetCategoryというやつが正体不明だし、しかもこのときになんでdtml-withを使うのかがわからん。
理解はまったく不能。うーむかっこわるい。
getCategoryって何なんだろうなぁ…
あうー。パス…というかお手上げ。
次の部分は一度みたことがあります。
これは全てのカテゴリの名前を表示するわけですな。
category_listの中にはおそらく、登録されているカテゴリがつまってるんでしょう。dtml-inによってカテゴリの数だけ、その名前を表示するわけですな。おそらく。
そして最後。
category_idがcat_idなものを、rev_category_entry_itemsによって逆さまにしといて、その中のentry_bodyを表示するわけですな。
エントリがない場合は「There are no entry.」を表示する、と。
うーむ。いかん。さっぱりわからん。
dtml-についてはなんとなくつかめてきたけど、使われてる変数の正体がまったくわかりませぬ…。contentsにあるものだけを見てもあんまり勉強にならんのかな。
まぁとりあえずもう少し続けて見ることにします…
特に中身が正体不明なものリスト
・getCategory
・rev_category_entry_items
<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
- カテゴリ
-
Zope
-
ReadingCOREBlog
-
COREBlog1
- 固定リンク
- ¦
- コメント (4)
- ¦
- トラックバック (0)
- トラックバック用URL:
- http://nagosui.org/Nagosui/COREBlog2/29/tbping


このシリーズ,専用のカテゴリに独立してわけていただくと
リンクしやすくてよいと思いました
ご意見どうもです(・´∀`・)
カテゴリ再編してみることにします。
>nyusukeさん
カテゴリ再編ありがとうございました
新カテゴリをリンク集に加えさせていただきました;-)
わざわざご連絡ありがとうございます。
精進します(´ω`)…