2008年3月10日[EE]カテゴリの扱いに関するまとめ他のブログツール同様、EEも、カテゴリに属する記事を書いたら勝手にカテゴリページを生成してくれます。これ一応カスタマイズできるみたいなのですが、その挙動がどうもわかりにくいので、まとめてみました。href=”{path=main/test}”>{category_name}</a>を呼び出してくれます。Links?をYesにすると、http://www.example.com//index.php/main/category/Blogging/というような、カテゴリ名を使ったURLを生成してくれるようになります。上記URLで表示されるページはどういう内容になっているのでしょう?別に特別なテンプレートがあるわけではなくて、http://www.example.com/index.php/main/用のテンプレートで生成されます。{exp:weblog:entries}で取得できるブログの記事は、該当カテゴリの物だけに制限されます。結果として、{exp:weblog:entries}を使って普通にindexページを生成しておけば、該当カテゴリの記事だけが表示される、というわけです。便利そうなこの仕組みですが、普通のブログツールを使い慣れたデザイナさんが、「カテゴリページのデザインです♪」とか言ってトップページと異なるデザインを持ってきたとたん、破綻します。トップページと同じテンプレートがカテゴリページにも適応されちゃうので、両方に対応したテンプレートを書かないといけなくなるわけです。べつにデザイナーさんが悪いわけではなくて、カテゴリーページにはそのカテゴリの概要を書きたいとか、ごく普通の要望だと思います。“category”}を使って切り分けながら書いていけば、同じテンプレートを使い分けることも不可能ではないですが、本来全然別のページとしてデザインしている物を同じテンプレートにつっこむのはかなり大変です。するかというと、いっそindexテンプレートをこんな内容にしてしまいます。“category”}{embed=”main/.category”}{if:else}{embed=”main/.top”}{/if}カテゴリページの時は.categoryを呼び出す、そうでないときは.topページを呼び出します。すれば、カテゴリページ用の内容は.categoryに、トップページ用の内容は.topに書くことができて、シンプルなテンプレートにすることができます。ThemeCountry。