« 目次

Movable Type オブジェクト・リファレンス

MT::Entry

概要

use MT::Entry;
my $entry = MT::Entry->new;
$entry->blog_id($blog->id);
$entry->status(MT::Entry::RELEASE());
$entry->author_id($author->id);
$entry->title('My title');
$entry->text('Some text');
$entry->save
    or die $entry->errstr;

解説

MT::Entryオブジェクトは、Movable Typeシステムの一件分のエントリーに対応し、エントリーの内容や追記だけでなく、投稿者、状態、カテゴリーなどのメタ・データもすべて格納します。

利用方法

MT::EntryMT::Objectのサブクラスであり、MT::Objectのデータ管理およびデータ保存用のメソッドをすべて継承していますので、新規オブジェクトの生成、既存オブジェクトの読み込み、オブジェクトの保存などの詳細は、MT::Objectを参照してください。MT::Entryインターフェース独自のメソッドは次のとおりです。

$entry->next

次のエントリーを読み込み、読み込んだエントリーを返します。次のエントリーとは、日時の昇順で次のレコードに該当するエントリー(つまり、$entryが表す現在のエントリーの次に投稿されたエントリー)です。ここで言う次のエントリーを表すMT::Entryオブジェクトを返します。次のエントリーが存在しない場合にはundefを返します。このメソッドは、次回以降の呼び出し時にデータベースの再検索を繰り返す必要がないよう、戻り値をキャッシュします。

$entry->previous

前のエントリーを読み込み、読み込んだエントリーを返します。次のエントリーとは、日時の昇順で前のレコードに該当するエントリー(つまり、$entryが表す現在のエントリーの前に投稿されたエントリー)です。ここで言う前のエントリーを表すMT::Entryオブジェクトを返します。前のエントリーが存在しない場合にはundefを返します。このメソッドは、次回以降の呼び出し時にデータベースの再検索を繰り返す必要がないよう、戻り値をキャッシュします。

$entry->author

$entryが表すエントリーの、投稿者を表すMT::Authorを返します。投稿者レコードが削除されている場合はundefを返します。このメソッドは、次回以降の呼び出し時にデータベースの再検索を繰り返す必要がないように、戻り値をキャッシュします。

$entry->category

$entryが表すエントリーのメイン・カテゴリーを表すMT::Categoryオブジェクトを返します。メイン・カテゴリーが登録されていない場合はundefを返します。このメソッドは、次回以降の呼び出し時にデータベースの再検索を繰り返す必要がないように、戻り値をキャッシュします。

$entry->categories

$entryが表すエントリーが登録されているカテゴリー(メイン・カテゴリー以外のカテゴリーも含む)を表すMT::Categoryオブジェクトの配列へのリファレンスを返します。当該エントリーがどのカテゴリーにも分類されていない場合、空配列へのリファレンスを返します。このメソッドは、次回以降の呼び出し時にデータベースの再検索を繰り返す必要がないように、戻り値をキャッシュします。

$entry->is_in_category($cat)

$entryが表すエントリーが、$catで表されるカテゴリーに分類されている場合にtrueを返し、そうでない場合にはfalseを返します。

$entry->comments

$entryへのコメント(MT::Commentオブジェクト)の配列へのリファレンスを返します。当該エントリーに対してまだコメントがつけられていない場合は空配列へのリファレンスを返します。このメソッドは、次回以降の呼び出し時にデータベースの再検索を繰り返す必要がないように、戻り値をキャッシュします。

$entry->comment_count

$entryが表すエントリーに対するコメントの件数を返します。このメソッドは、次回以降の呼び出し時にデータベースの再検索を繰り返す必要がないよう、戻り値をキャッシュします。

$entry->ping_count

$entryが表すエントリーに対するトラックバックの件数を返します。このメソッドは、次回以降の呼び出し時にデータベースの再検索を繰り返す必要がないよう、戻り値をキャッシュします。

$entry->archive_file([ $archive_type ])

$entryが表すエントリーが保存されるアーカイブ・ファイルの名前/パスを返します。同一のブログで複数の種類のアーカイブを利用している場合、$archive_typeを指定しないでこのメソッドを呼び出すと、パーマリンクの設定で設定したアーカイブの種類をもとにパスが生成されます。$archive_typeを指定する場合は、"Individual"、"Daily"、"Weekly"、"Monthly"、"Category"のいずれかを指定してください。

$entry->archive_url([ $archive_type ])

$entryが表すエントリーのアーカイブ・ページの絶対URLを返します。内部的にはarchive_fileメソッドを呼び出していますので、$archive_typeを指定すればそのままarchive_fileメソッドに渡されます。つまり、このメソッドの戻り値は、ブログURLにarchive_fileの戻り値を連結したものになります。

$entry->permalink([ $archive_type ])

$entryが表すエントリーの(スマート)パーマリンクを返します。このメソッドは内部的にarchive_urlメソッドを呼び出し、さらにこれがarchive_fileメソッドを呼び出します。ですから$archive_typeの指定があれば、そのままarchive_fileに渡されます。このメソッドの戻り値は、archive_urlの戻り値にURIフラグメント(#entry_id)を連結したものと同じです。ただしアーカイブの種類として"Individual"を指定してある場合は、これら二つのメソッドの戻り値はまったく同じになります。

$entry->text_filters

テキスト・フィルターのキー名(MT::add_text_filterメソッドの第1引数に指定する短縮名)の配列へのリファレンスを返します。この配列は、MT::apply_text_filtersメソッドの第2引数としてそのまま渡すことができます。

データ・アクセス用メソッド

MT::Entryオブジェクトは次のデータを格納します。これらのフィールドは、MT::Objectのドキュメントで説明したような標準的なデータ・アクセス用メソッドで参照あるいは設定できます。

id

エントリーのIDです。

blog_id

そのエントリーが投稿されたブログのIDです。

author_id

そのエントリーを投稿した投稿者のIDです。

status

エントリーの状態です。公開(2)か下書き(1)のどちらかです。

allow_comments

そのエントリーがコメントを受け付けるかどうかを示す整数フラグです。コンテナ・タグ<MTEntryIfAllowComments>がそのエントリーに表示されるかどうかは、この値によります。指定可能な値は、0(コメントを受け付けない)、1(コメントを受け付ける)、2(コメントの受け付け終了。つまりこのエントリーへのコメントを表示するが、新たなコメントは受け付けない)のいずれかです。

convert_breaks

エントリーの再構築の際、改行を変換するかどうかを示すブーリアン・フラグです。

title

エントリーのタイトルです。

excerpt

エントリーの概要です。

text

エントリーの内容です。

text_more

エントリーの追記です。

created_on

エントリー・レコードの作成日時を示す、"YYYYMMDDHHMMSS"書式のタイムスタンプです。タイムゾーンの設定に合わせたタイムスタンプになることに注意してください。

modified_on

エントリー・レコードの最終更新日時を示す、"YYYYMMDDHHMMSS"書式のタイムスタンプです。タイムゾーンの設定に合わせたタイムスタンプになることに注意してください。

データの検索

エントリー・レコードの検索では、IDによる検索の他、次のフィールドの任意の組み合わせによる検索やソートを行うことができます。詳細はMT::Objectloadメソッドの説明を参照してください。

  • blog_id
  • status
  • author_id
  • created_on
  • modified_on

MT::Entry::removeでエントリーを削除すると、エントリー・レコードだけでなく、そのエントリーのコメントやカテゴリー分類(それぞれMT::CommentMT::Placementのレコード)もすべて削除されます。


Copyright © 2001-2006 Six Apart, Ltd. All Rights Reserved.