このページの位置
ホーム > blogっぷり! > 石輪っぷり! > 2010年8月

石輪っぷり!

2010年8月のブログ記事

Movable Type でエントリーリストに異なるブログのエントリーを表示する

ちょっと意味不明なサブジェクトですが、どういうことかというと、今回 Movable Type で構築している案件で次のような仕様を実装することになりました。

  • 多数の加盟企業がそれぞれのユーザー名でログインしてそれぞれにお知らせを投稿する。
  • 加盟企業はそれぞれに自身の紹介ページが作られる。(紹介ページを作らない企業もあり)
  • 加盟企業の登録・編集は事務局が行う。(但し、事務局は Movable Type の管理者ではない)

制作を受ける際はできると考えていて、いざ構築を始めるとつまずくことがあるもので、今回の場合、Movable Type のユーザーにカスタムフィールドで企業情報を入力するフィールドを作って企業をユーザーとして登録し、企業の紹介ページはユーザー別アーカイブで生成っていうのが正当な方法なのでしょうが、これだと登録企業自身が情報を編集することが出来てしまいます。また、ユーザーの追加は Movable Type のシステム権限でないとできません。今回ユーザーを追加する事務局にはシステム権限を与えないので、別の方法を模索することになります。そこで、

  • あらかじめ想定される数のユーザーを user001,user002,user003,・・・というユーザー名で作っておく。
  • 加盟企業を登録するブログ(blog_id="2")を作り、登録の際にタグ欄にユーザー名を入力するようにする。
  • 加盟企業はそれぞれのユーザー名でログインし、お知らせのブログ(blog_id="3")に情報を掲載する。
  • お知らせを投稿したユーザー名と加盟企業のタグを関連づけ、お知らせ一覧に企業名と業種を、企業紹介ページにはその企業が投稿したお知らせを表示する。

という仕組みを考えました。しかし、テンプレートを書いていて問題が二つ発生しました。

Movable Type で Goolge Maps を ThickBox で表示する際のあれこれ

Movable Type で住所や緯度経度を Google Maps のに変換して表示することのできる Mapper_Plugin。3年前にあるサイトを制作する際に利用したことがありますが、今回また同様の案件があり利用しました。

3年前(MT3.35)と今回(MT5.02)と構築環境に違いはあるものの考え方は同じで、通常のブログ記事アーカイブとは別に、カスタムフィールドに入力した住所情報から Mapper_Plugin で Google Maps を表示するブログ記事アーカイブを作っておき、個別アーカイブページの地図表示のリンクからこの Google Maps のアーカイブページを表示させるという方法です。

前回はサブウィンドウで Google Maps を表示させましたが、今回は写真をオーバーレイ表示する Lightbox の jQuery 版、jQuery lightbox を利用していることから、Google Maps も同じようにオーバーレイ表示したいと考え、画像だけでなく HTML もオーバーレイ表示できる ThickBox を利用することにしました。

しかし、Google Maps の場合はすんなり行かず、いくつかの Tips がありましたので、その覚え書きです。

▲このページの先頭へ