Movable Type Hack-a-thon に参加してきましたよ

| コメント(0) | トラックバック(1)
このエントリーを含むはてなブックマークこのエントリーのはてなブックマーク数 Buzzurlへ追加このエントリーのBuzzurlブックマーク数 livedoorクリップへ追加このエントリーのlivedoorクリップ数 Yahoo!ブックマークへ追加人が登録 POOKMARK Airlinesへ追加 Saafへ追加 ニフティクリップへ追加 add to del.icio.us add to Digg add to Reddit

ども、MT4i の中の人です。本日(もう昨日になっちゃた)シックス・アパート株式会社にて開催された、Movable Type Hack-a-thon に参加してきました。のでその感想などなど。

10時開場ということだったので、9時半には入ろうと思っていたのですが、起きたらなんと8時45分!しかも前の晩に風呂入らないで寝ちゃったからシャワー浴びなきゃだし!ということで、会場入りしたのは10時でした。しかし、まだまだ全然人が集まってなかったので一安心。:-)

で、この日は何をやろうかと考えていて、結局俺にはこれしかないんだからと、MT4i の Trac に残っているチケットを片っ端からやっつけていこうと思ったんですけど、そのことを前日に社内の IRC で喋ったところ、「カスタムフィールド対応!」との声が。正直、カスタムフィールドには全然興味がなかったので、対応するつもりはさらさらなかったんですけど、それ言われて色々と思いを巡らせてみると、4.1 の目玉機能であるカスタムフィールドに対応するのは 4.1 対応の第1歩だなと。インパクトもありますしね。というわけで、まずはカスタムフィールド対応、でも無理そうだったらすぐあきらめよう、という心構えで臨みました。

会場入りしたら、まずは MT4.1 のダウンロードから。そうですまだ触ってませんでした。で、コード読んだり色々といじってみたんですが、どうもうまくない。カスタムフィールドの値は meta というカラムに入ってくるんですけど、これの取得の仕方が良く分からない。吉松さんに聞いたりして、CustomFields::Util::get_meta というメソッドは見つけたんだけれど、use CustomFields::Util; しても見つからないと言われる。 use MT; してみたらと大幅に書き換えてみたけれどダメ。一体全体どうしたらと、昼食後も悩んでいたんだけれど、ふと、直接 use lib 'addons/Commercial.pack/lib' しちゃえば良いことに気づきました。気づいてしまえばどうってことなかったりします。

実際にどんなコード書いたかはチェンジセット見てもらえばわかるんですが、簡単に説明しておくと、

my $packs = $mt->find_addons('pack');
for my $pack (@{$packs}){
    push @INC, $pack->{path};
}

まずは上記コードで Commercial.pack の lib を @INC に追加します。find_addons() で addon の一覧が帰ってくるので、各 pack の {path} を @INC に push しています。で、

require CustomFields::Util;
my $meta = CustomFields::Util::get_meta($obj);

meta 情報を取得します。CustomFields::Util; を use でなく require しているのは、単に use だと上記 @INC への path 追加前に読もうとしてエラーになってしまうためです。そして、

for my $cf (keys %$cfs) {
    $template->param('ENTRY_'.$cf => encode("shiftjis",decode("utf8", $cfs->{$cf})));
}

取得した meta 情報を Template に渡しています。

今日の作業では、個別記事ページにて「種類」が「テキスト」のカスタムフィールドについて、表示することができるようになりました。ただし、カスタムフィールドの「種類」は他のものもありますし、ブログ記事でなくカテゴリーやフォルダにも追加できるし、更には MT4i にて記事投稿する際に入力させるのか、させるならどうやって?とか、問題は山積み。どこまでやるかはまだ考えてないですが、ぼちぼちやっていこうと思っています。

そんなこんなで、最後には今日の成果を発表することができたし、初めての Hack-a-thon への参加としては、上々だったのではないかと思います。自宅では子ども3人に囲まれてなかなかコーディングの時間がとれませんし、今後も Hack-a-thon には積極的に参加していきたいと思います。何より、困った時に質問できる人がすぐそばにいてくれるのが最高ですw

トラックバック(1)

トラックバックURL: http://www.hazama.nu/mt/mt-tb-jpLbM5mz.cgi/2707

2008年1月26日にシックス・アパート株式会社で開催された Movable Type Hack-a-thon のレポート 続きを読む

コメントする

月別 アーカイブ

ウェブページ

OpenID対応しています OpenIDについて

AD

 

被はてブ

Flickriver::Most Interesting

tai-tetsu - Flickriver

最近のコメント

アイテム

  • Love Letter
  • 20100710_extremememory.jpeg
  • 20100620_aoss.jpeg
  • Desire 液晶保護フィルム
  • IMG_5257.JPG
  • HTC Desire シリコンジャケット
  • 20100107_five_finger_sox_01.jpeg
  • 20100107_five_finger_sox_01.jpeg
  • 2010年賀状
  • 20091231_digital_camera_magazine_02

このブログ記事について

このページは、太鉄が2008年1月27日 00:49に書いたブログ記事です。

ひとつ前のブログ記事は「MT4i version 3.0 β5 をリリースします」です。

次のブログ記事は「MT4i version 3.0 正式版をリリースしました」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。