use MT::TemplateMap;
my $map = MT::TemplateMap->new;
$map->blog_id($tmpl->blog_id);
$map->template_id($tmpl->id);
$map->archive_type('Monthly');
$map->file_template('<$MTArchiveDate format="%Y/%m/index.html"$>');
$map->is_preferred(1);
$map->save
or die $map->errstr;
MT::TemplateMapは、あるブログにおける、アーカイブ・テンプレートとアーカイブの種類の1対1の対応を表します。たとえばDate-Basedという名前のテンプレートを作成し、これを月別アーカイブにマッピングする場合、このマッピングを1つのMT::TemplateMapオブジェクトで表します。
MT::TemplateMapは、MT::Objectのサブクラスで、MT::Objectのデータ管理およびデータ保存用のメソッドをすべて継承しています。新規オブジェクトの生成、既存オブジェクトの読み込み、オブジェクトの保存などの詳細については、MT::Objectを参照してください。
MT::TemplateMapオブジェクトは次のデータを格納します。これらのフィールドは、MT::Objectの標準的なデータ・アクセス用メソッドで参照あるいは設定できます。
テンプレート・マッピング・レコードのIDです。
テンプレート・マッピング・レコードが関連付けられたブログのIDです。
テンプレートのIDです。
アーカイブの種類です。"Individual"、"Daily"、"Weekly"、"Monthly"、"Category"のいずれかでなければなりません。
マッピングで指定されているアーカイブ・テンプレート・ファイルです。該当する種類のアーカイブのテンプレートから、テンプレート・タグを使って生成される出力ファイルを定義するものです。
このテンプレートが、同じ種類のアーカイブに登録されている他のテンプレートよりも優先するかどうかを指定するブーリアン・フラグです。これは、アーカイブへのリンクを作成するときに利用されます。アーカイブへのリンクは、必ずパーマリンク先として指定された種類のアーカイブに対して張られます。
テンプレート・マップ・レコードの検索では、IDによる検索の他、次のフィールドの任意の組み合わせによる検索やソートを行うことができます。詳細は、MT::Objectのloadメソッドを参照してください。
MT::TemplateMap::removeでMT::TemplateMapオブジェクトを削除すると、削除する$mapのis_preferredフラグがtrueにセットされていて、かつ同じブログで他にも同じ種類のアーカイブに割り当てられたMT::TemplateMapオブジェクトがある場合、他のオブジェクトの中の最初のものが優先オブジェクトになり、そのオブジェクトのis_preferredフラグがtrueになります。