ようこそ! 株式会社アイビー・ウィー 2024/12/11 20:50 JST

MTからGeeklogへサイトを移行開発

  • 2010/08/31 22:17 JST
  • 表示回数 4,037
General News

MTからGeeklogへサイトを移行開発中です。

拡張フィールドを使っているので通常のMT形式への書き出しでは本体を書き出しできず、Geeklogで多言語形式でそのまま取り込めるよう、テンプレート作成機能でMT形式のファイルを書き出しています。

テンプレートは、以下のようにして・・・


lastn="2000" としたことで、最大2000ブログまで連続して書き出してくれるってわけで。

テンプレート機能、便利!
Geeklogにするといろいろもっさり感がなくなって、多言語サイトもつくりやすくなりますから、リニューアルたのしみです。

今回、移行は、mystral-kkさんのphpblock_mt2geeklog.phpが大活躍です。

さらに、記事IDを受け渡したいので、MTのテンプレートで、記事IDを STORY ID で渡します。そのとき、phpblock_mt2geeklog.phpで、以下の行を追加して記事IDを受渡してもらいます。もしこれを追加しなければ自動生成IDになってしまいます。

        $sid = strip_tags( $article['META']['STORY ID'] );
        if ($sid == '') $sid = getUniqueSid();

TOPに表示するかどうか、frontpageは常にONですが、これをOFFにするには590行あたり、以下のようにfrontpage の値を固定でわたすとよいです。

if ($hasTrackback) {
DB_query("INSERT INTO {$_TABLES['stories']} (sid, uid, draft_flag, tid, date, title, introtext, bodytext, comments, trackbacks, commentcode, trackbackcode, expire, postmode, owner_id, group_id, frontpage) VALUES ('$sid', $uid, $draft_flag, '$tid', '$unixdate', '$title', '$introtext', '$bodytext', $comments, $trackbacks, $commentcode, $trackbackcode, '$expire', '$postmode', $owner_id, $group_id, 0)");
} else {
DB_query("INSERT INTO {$_TABLES['stories']} (sid, uid, draft_flag, tid, date, title, introtext, bodytext, comments, commentcode, expire, postmode, owner_id, group_id, frontpage) VALUES ('$sid', $uid, $draft_flag, '$tid', '$unixdate', '$title', '$introtext', '$bodytext', $comments, $commentcode, '$expire', '$postmode', $owner_id, $group_id, 0)");
}