<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
   <title>MovableType3 オブジェクトの使い方メモ</title>
   <link rel="alternate" type="text/html" href="http://movabletype3.kutashiki.com/dev_memo/" />
   <link rel="self" type="application/atom+xml" href="http://movabletype3.kutashiki.com/dev_memo/atom.xml" />
   <id>tag:movabletype3.kutashiki.com,2007:/dev_memo//6</id>
   <updated>2007-09-17T12:54:38Z</updated>
   <subtitle>MovableType3 オブジェクト リファレンスを参考にしてお勉強。
その際の備忘録をメモとして記録。</subtitle>
   <generator uri="http://www.sixapart.com/movabletype/">Movable Type 3.35</generator>

<entry>
   <title>[MT::Entry]特定のブログの記事一覧をロード</title>
   <link rel="alternate" type="text/html" href="http://movabletype3.kutashiki.com/dev_memo/e/000009.html" />
   <id>tag:movabletype3.kutashiki.com,2007:/dev_memo//6.9</id>
   
   <published>2007-09-17T12:46:54Z</published>
   <updated>2007-09-17T12:54:38Z</updated>
   
   <summary>以下のコードは特定のブログの記事一覧をロードをする例。 この例では、blog_i...</summary>
   <author>
      <name></name>
      
   </author>
   
   
   <content type="html" xml:lang="ja" xml:base="http://movabletype3.kutashiki.com/dev_memo/">
      <![CDATA[以下のコードは特定のブログの記事一覧をロードをする例。
この例では、blog_id=2 のエントリー一覧を「エントリーの投稿日時」の降順で配列としてロードしている。

<pre class="code">
use MT;
use MT::Entry;

#MTの初期化は必ず行う
my $mt = MT->new or "Failed to load mt";
my @entries = MT::Entry->load(
        { blog_id => 2 },
        {
                sort => 'created_on',
                direction => 'descend',
        }
);

foreach $entry ( @entries ) {
	print "記事タイトル：" . $entry->title . "\n";
}
</pre>

ちなみに load メソッドは MT::Object で宣言されているらしい。
MT::Entry は MT::Object を継承しているので、このメソッドを使用することができる。

http://www.sixapart.jp/movabletype/manual/object_reference/archives/mt_object.html
（参考：Movable Type オブジェクト・リファレンス　MT::Object）

オブジェクトの読み込みには、一括して配列に読み込む方法（load）と、反復子を使って一つずつオブジェクトを読み込む方法（load_iter）があるそうだが、この点についてはまた後で時間があるときに試してみる。]]>
      
   </content>
</entry>
<entry>
   <title>各オブジェクト内のテキストデータのエンコーディング</title>
   <link rel="alternate" type="text/html" href="http://movabletype3.kutashiki.com/dev_memo/e/000008.html" />
   <id>tag:movabletype3.kutashiki.com,2007:/dev_memo//6.8</id>
   
   <published>2007-09-17T12:40:01Z</published>
   <updated>2007-09-17T12:42:34Z</updated>
   
   <summary>試してみたところ、MT::* で生成した各オブジェクト内のテキストデータのエンコ...</summary>
   <author>
      <name></name>
      
   </author>
   
   
   <content type="html" xml:lang="ja" xml:base="http://movabletype3.kutashiki.com/dev_memo/">
      試してみたところ、MT::* で生成した各オブジェクト内のテキストデータのエンコーディングはＵＴＦ?８で統一されているのかな。

とりあえず、MT::Entry のオブジェクトを load して title プロパティを表示してみたところ、エンコーディングは UTF-8 になっていた。

ちなみに私のシステムでは、データベースでは MySQL を使用し、エンコーディングは EUC-JP としている。

リファレンスのどっかにのっているかもしれないので、時間のあるときに探してみようかな。
      
   </content>
</entry>
<entry>
   <title>MT::*クラスのクラスメソッドを使えるようにするため、最初に必要なこと</title>
   <link rel="alternate" type="text/html" href="http://movabletype3.kutashiki.com/dev_memo/e/000007.html" />
   <id>tag:movabletype3.kutashiki.com,2007:/dev_memo//6.7</id>
   
   <published>2007-09-17T12:20:55Z</published>
   <updated>2007-09-17T12:24:15Z</updated>
   
   <summary>MT::* クラスのクラスメソッドを使用する場合、最初にMTクラスをnewしてm...</summary>
   <author>
      <name></name>
      
   </author>
   
   
   <content type="html" xml:lang="ja" xml:base="http://movabletype3.kutashiki.com/dev_memo/">
      <![CDATA[MT::* クラスのクラスメソッドを使用する場合、最初にMTクラスをnewしてmt-config.cgiを読み込み、初期設定を行うことでMTのAPIを使用できるようにする必要がある。

<pre class="code">
my $mt = MT->new or "Failed to load mt!";
</pre>

この初期化処理を忘れてしまうと、当然のことながら MT::* クラスへの操作は行うことができない。
]]>
      
   </content>
</entry>

</feed>

