カテゴリアーカイブの表示に PHP を使う。個別に出力したファイルを動的に読み込んで表示する。
これまで,日別アーカイブ,月別アーカイブを PHP で表示するようにしてきた(nlog(n): 長年日記を PHP で実装する,nlog(n): 月別アーカイブを PHP で表示する)。今回のターゲットはカテゴリアーカイブである。
環境は Movable Type 2.661, PHP 5.2.0 である。Movable Type については,MT2 だけでなく,MT3 でも動作する。ただし,MT3 にはダイナミックパブリッシングの機能がついているので,わざわざこのカスタマイズをするご利益はないかも知れない。PHP については,特殊な関数は使っていないので,PHP4 でも PHP5 でも動作する。テンプレートは既に作成されているとする(nlog(n): アーカイブの PHP 化の仕様を変更)。
カテゴリアーカイブテンプレートを編集し,<MTEntries>〜</MTEntries> を削除して,次のコードに置き換える。例によって,1つおきに色を変えるようにしている。
これで各アーカイブの PHP 表示については完了である。
結局,これらの違いはファイル選択の部分だけの違いに帰着される。
アーカイブ名 | ファイル選択部分 |
日別 | $thisday = '<$MTArchive Dateformat="%m_%d"$>'; $files = glob("abstract/????_" . $thisday . "*.html"); |
月別 | $thismonth = '<$MTArchiveDate format="%Y_%m"$>'; $files = glob("abstract/" . $thismonth . "_*.html"); |
カテゴリ | $thiscategory = '<$MTArchiveTitle encode_url="1"$>'; $files = glob("abstract/*" . $thiscategory . "*.html"); |
つまり,glob() 関数の引数が違うだけということになる。
Posted by n at 2007-04-09 23:03 | Edit | Comments (0) | Trackback(0)
Master Archive Index
Total Entry Count: 1957