blogSetomits

Welcome to blogSetomits

COREBlog でカテゴリ表示を一定のエントリ数で分割

ふと気づくと、bookカテゴリやmovie/dramaカテゴリなど、エントリ数が多くなってしまっているものがあります。これらのカテゴリを選ぶと、やたらと縦に長い表示になってしまうので、一定数ごとに分割するように変更しました。

僕は10エントリごとにしていますが、ここを調整したい場合は categorylist_html の cat_count をセットしているところを変更すれば良いです。
また、本当は分割されたそれぞれへのリンクを作った方が良いんだろうなと思いますが、それはまたおいおいで。

<修正 at 11:12>
categorylist_html の cat_count をセットする箇所で try するようにしました。
このことで、 COREBlog.py は変更しなくて良くなりました。
</修正>

デフォルトのものからの変更点は以下です。
- ZMI上で categorylist_html を編集
上の方で他に REQUEST.set() のあるあたりで
<dtml-call "REQUEST.set('cat_count',10)">
<dtml-try>
<dtml-call "REQUEST.set('cat_start', int(cat_start))">
<dtml-except>
<dtml-call "REQUEST.set('cat_start',0)">
</dtml-try>
を追記。
また、古いもの/新しいものへのリンクを設置したい箇所に
<table width="100%"><tr><td align="left">
<dtml-with "getCategory(id=cat_id)">
<dtml-if "cat_start + cat_count >= count">
&nbsp;
<dtml-else>
<a href="<dtml-var blogurl>/categorylist_html?cat_id=<dtml-var cat_id>&cat_start:int=<dtml-var "cat_start + cat_count">" 
title="前の<dtml-var cat_count>件">&#8592;</a>
</dtml-if>
</dtml-with>
</td><td align="right">
<dtml-if "cat_start >= cat_count and cat_start > 0">
<a href="<dtml-var blogurl>/categorylist_html?cat_id=<dtml-var cat_id>&cat_start:int=<dtml-var "cat_start - cat_count">" 
title="次の<dtml-var cat_count>">&#8594;</a>
<dtml-else>
&nbsp;
</dtml-if>
</td></tr></table>
を追記。
Posted at 09:09 by setomits
Leave your comment