Bloglinesのcitations経由で、same_categoryのバグっぽい・・・というか間違いなくバグな挙動についてのエントリを発見したので、それへの対処をしてみました。
バグは、サブカテゴリにあるエントリ(例: /foo/bar/geek.html)の場合、その上位ディレクトリのエントリ(例: /foo/bar.html)がリストに含まれてしまうという挙動です。うちのサイトではサブカテゴリは作っていないので、気づきませんでした。これを直すついでに、下位カテゴリのエントリもリストに出てこないようにしました。つまり、今回の修正によって生成されるリストは完全に同じカテゴリのエントリのリストになることになります。
バグ自体の把握はものの数分で出来たので、修正自体は直ぐ終わったんですが、ルート直下にあるエントリの場合のことや完全に一致するカテゴリだけを選別する方法のことなど色々頭の中だけで考えてたらちょっと混乱してしまいました。
ついでに、同じカテゴリにエントリが他に1つも無い場合に、$prefix
や$postfix
と共に内容が空のul
要素が出力されてしまう挙動にも対処したつもり。
ちょっと確認が取りきれてない感じなので不具合があるかもしれません。「差し替えたら500エラーになった!」とかいうことは無いと思います(このサイトで使っていたsame_categoryは差し替え済みで、問題なく動いています)が、正常にリストが生成されない可能性はあるので、念のため古いものはバックアップしておいた方が良いです。
バグ報告や機能改善要望、機能追加要望は、BBSやMLなどでお気軽にどうぞ。