Pebble日本語化&改造ログ
  全カテゴリ | Blog News | Bugs | Changes | Other Blogware
 
<< Pebble1.7 part2 | Home | Pebbleのローカライズ >>
カテゴリーでエントリが表示されない[FIXED]

カテゴリー選択で、全てのエントリーがされない。ただし比較的新しいエントリーは表示される。

以前に「カテゴリ選択時のエントリー数制限
という記事で、カテゴリ選択時に500件もしくは6ヶ月という条件で抽出するようにしました。
この6ヶ月の制限により、それ以前のエントリーはカテゴリーアーカイブでは表示されません。
過去のエントリーを見るにはカレンダーより月のアーカイブで過去に遡らなくてはいけません。
TANALOGではCMS的な使用方法も想定しているためこの期間的な制限は取り除きたいと思います。

pebble.blog.SimpleBlog.java
getRecentBlogEntryのwhile内にて、
(28*6)日の評価式を削除します。

500件という数字が適当かは今だ要検討であります。
すみません、評価式を削除しては無限ループに入ります。とりあえず2年(365*2)とし、対策を考えます。
データがある限り無期限に、という設定にしたいと思います。もちろん件数制限はそのままで。

pebble.blog.SimpleBlog.java
getRecentBlogEntryのwhile文内に、
int year = cal.get(Calendar.YEAR);
if (getBlogForYear(year) == null) break;
と追加することで対応できます。
更にこれがバグっています(涙)
getBlogForYear(int year)はNULLにはなりません(新しいインスタンスを生成してしまう)ので無限ループへと導かれます。。
やはり(28*6)の数値を上げ、1年とか2年という期間を設定するのがベストかと思われます。
例:2年なら(365*2)
CMS的な使用方法も想定しているためたとえ2年でも問題はいづれ出てきます。
無制限に出来るフラグをPebblePropertiesに設定し、かつ無限ループにならないよう、データが無くなった時点で終了する手段を考えます。
pebble.blog.SimpleBlog.javaに、
int getTheAgedYear()
なる最も古いブログの年を取得するメソッドを用意。
getRecentBlogEntryのwhile内にて、データのない年までくるとループを抜けるようにします。

長々と課題を引きずりましたがこれでOKでしょう。
コメント追加

タイトル
名前
E-mail
Webサイト
本文
情報保存 する  しない
  • 情報保存をすると次回からお名前等を入力する手間が省けます。
  • E-mailは公開されません - このエントリーの新規コメント通知が必要なら記入します。

このエントリーのトラックバックURLを表示