シンプルに実装してみた(但しこのURL自体は変更になる可能性が高いので注意。いずれはトップに持ってくるつもり)。書き忘れていたがRDBMSにはMySQLを使用、プログラム自体はPHPで書いている。
最新エントリー一覧のSQLは、結局以下のようになった。
select entry_title, blog_name, date_format(entry_created_on, '%Y/%c/%e, %T') as created_on,
if(blog_archive_type like '%individual%',
concat(blog_archive_url ,lpad(entry_id, 6, '0'), '.', blog_file_extension),
concat(blog_site_url, '#', lpad(entry_id, 6, '0'))
) as entry_url
from mt_blog B, mt_entry E
where B.blog_id=E.entry_blog_id and entry_status=2
order by entry_created_on desc limit 15;
懸案だったエントリーのURLについてだが、 アーカイブのタイプにindividualが含まれていたら、つまり個別のエントリーごとにアーカイブを作る設定になっていたら、ダイレクトにエントリーに飛ぶURL。それ以外ならトップページ+アンカーという形になっている。…分かり難いし、思いっきり環境依存だが、まあとりあえずはこんなものだろう。
なお、ページそのものは、いずれSmartyでも使って書き直し、負荷軽減のためにキャッシングも有効にしようと思う。1時間に1回くらい更新すれば十分だろう。
投稿者 StaffT : May 25, 2004 11:01 PM