« 目次

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

MT::App

概要

package MT::App::Foo;
use MT::App;
@MT::App::Foo::ISA = qw( MT::App );

package main;
my $app = MT::App::Foo->new;
$app->run;

解説

MT::Appは、Movable TypeのWebアプリケーションの基本クラスです。標準的なCGIとして動作するアプリケーションや、Apache::Registryを使って動作するアプリケーション、mod_perlハンドラーとして動作するアプリケーションに対応します。MT::Appは、直接使用するためのものではなく、Movable Typeフレームワークを使った他のアプリケーション(たとえばMT::App::CMS)の基本クラスとなるためのものです。

利用方法

MT::Appは、MTクラスのサブクラスで、ウェブパブリッシング・メソッドへのアクセスを継承します。

コールバック

<package>::AppTemplateSource
<package>::AppTemplateSource.<filename>
callback($eh, $app, ¥$tmpl)

HTML::Templateファイルの読み込み後に実行します。<package>の部分は、実行しているアプリケーションのフル・パッケージ名です。

MT::App::CMS::AppTemplateSource.menu

これは、MT::App::CMSアプリケーション上でmenu.tmplファイルを読み込むときのためのコールバックです。CMSによるテンプレート読み込み時には、どのテンプレートでも「MT::App::CMS::AppTemplateSource」コールバックも呼び出されます。さらに、読み込まれている「HTML::Template」ファイルを、どのアプリケーションのテンプレートであるかを問わず、すべて取得するために、次のようにコールバック名をワイルドカード指定することもできます。

*::AppTemplateSource
<package>::AppTemplateParam
<package>::AppTemplateParam.<filename>
callback($eh, $app, ¥%param, $tmpl)

MT::App->build_pageメソッドと同時に実行します。引数$paramは、HTML::Templateのパラメーター・データへのハッシュ・リファレンスで、最終的にはテンプレートに渡され、ページの表示に使用します。

<package>::AppTemplateOutput
<package>::AppTemplateOutput.<filename>
callback($eh, $app, ¥$tmpl_str, ¥%param, $tmpl)

MT::App->build_pageメソッドと同時に実行します。引数$tmpl_strは、MT::App->build_pageメソッドで作成されたページに対応する文字列リファレンスです。リファレンスのため、コールバックで修正することができます。引数$paramは、ページ作成のために渡されたパラメーター・データへのハッシュ・リファレンスです。引数$tmplは、そのページの作成に利用したHTML::Templateオブジェクトです。

メソッド

MT::Appクラス固有のメソッドは次のとおりです。

MT::App->new

新規にMT::Appオブジェクトを生成して、そのオブジェクトを返します。

$app->init_request

各リクエストの開始時に呼び出されます。リクエスト固有の設定を初期化に適しています。このメソッドをオーバーライドするには、必ず、親クラスの「init_request」を呼び出してください。

この例として、アクティブなアプリケーション・モードが、ログイン済みのユーザーでないとアクセスできないモードかどうかを指定するメンバー変数「requires_login」があります。

sub init_request {
    my $app = shift;
    $app->SUPER::init_request(@_);
    $app->{requires_login} = 1 unless $app->mode eq 'unprotected';
}
$app->run

アプリケーションを実行します。入力情報を収集し、実行するメソッドを選択し、それを実行してクライアントに結果を出力します。アプリケーション実行中にエラーが発生した場合、runメソッドは、MT::ErrorHandlerまたはdieを利用して、すべてのエラーを処理します。

$app->login

ログインcookieを探し、次にCGIの「username」および「password」パラメーターを探して、ユーザーの認証情報をチェックします。どちらの場合も、usernameとpasswordが有効なものであるかどうか、確認します。ただしこのメソッドは、ログインcookieを設定することはありません。cookieの設定は、呼出側(たいていの場合、呼出側はrunメソッドです)で行う必要があります。

ログインに成功すると、このメソッドはログインした投稿者情報を格納するMT::Authorオブジェクトと、ブーリアン・フラグを返します。フラグがtrueの場合、認証情報はCGIパラメーターから得られたものであり、呼出側でcookieを設定する必要があります。フラグがfalseの場合、認証情報はすでに設定されたcookieから得られたものであることを示します。

認証エラーとなった場合、loginメソッドは、ユーザーのブラウザーにある認証cookieを削除し、undefを返します。このとき、エラー・メッセージは「$app->errstr」メソッドで取得することができます。

$app->logout

ユーザーをアプリケーションからログアウトさせるためのハンドラー・メソッドです。

$app->send_http_header([ $content_type ])

クライアントにHTTPヘッダーを送信します。引数$content_typeが指定されている場合には、Content-Typeヘッダーを指定された値に設定します。無指定の場合には、デフォルトで"text/html"になります。mod_perl環境では、このメソッドがApache::send_http_headerメソッドを呼び出します。CGI環境ではCGI::headerを呼び出します。

$app->print(@data)

クライアントに、@dataに格納されたデータを送信します。mod_perl環境では、このメソッドはApache::printメソッドを呼び出します。CGI環境では、STDOUTに直接データが出力されます。

$app->bake_cookie(%arg)

クライアントに送信するcookieを生成します。%argには、CGI::Cookie(または同じ引数を取るApache::Cookie)の「new」メソッドに渡すことができる有効な引数であれば、何でも指定可能です。%arg中で「-path」パラメーターを指定しない場合は、「$app->path」で取得される値が自動的に設定されます(次を参照してください)。mod_perl環境では、このメソッドはApache::Cookieを利用します。CGI環境では、CGI::Cookieを利用します。

現在のHTTPリクエストがhttpsプロトコルによるものであった場合、このメソッドは自動的にcookieに「secure」フラグを立てます。強制的にsecureフラグを無効にするには、「-secure」パラメーターを0にして呼び出します。

$app->cookies

cookieオブジェクト(mod_perl環境ではApache::Cookieオブジェクト、CGI環境ではCGI::Cookieオブジェクト)を格納したハッシュ・リファレンスを返します。

$app->user_cookie

ユーザーのログインcookieに用いられているcookie名の文字列を返します。

$app->user

ログイン中のユーザーを表すオブジェクトを返します。通常はMT::Authorオブジェクトです。

$app->clear_login_cookie

既存の認証cookieをクリアするためのcookieを、ユーザーのブラウザーに送ります。

$app->current_magic

アクティブなユーザーの「マジック・トークン」を返します。ポストされたデータを「validate_magic」メソッドで確認するときに用いられます。

$app->make_magic_token

ランダムな文字でできた「マジック・トークン」文字列を新規生成します。

$app->load_tmpl($file[, @params])

指定したファイル名のHTML::Templateテンプレートを読み込みます。テンプレートの置き場所については、「build_page」メソッドのドキュメントを参照してください。オプション引数の@paramsは、HTML::Templateオブジェクトのコンストラクターに受け渡されます。

$app->charset

環境設定の「PublishCharset」設定、あるいはアクティブな言語のエンコード(「$app->current_language」)にもとづいて、アプリケーションの文字コードの取得または設定を行います。

$app->add_return_arg(%param)

「戻り先」URLの生成時に用いるクエリー・パラメーターのリストに、1つまたは複数のパラメーターを追加します。

$app->add_return_arg(finished_task => 1)
$app->call_return;

このコードは、「finished_task」という新しいクエリー・パラメーターをURLに追加して、ユーザーをリンク元URLにリダイレクトします。

$app->call_return

「$app->return_uri」メソッドの戻り値を、戻り先アドレスとして、「$app->redirect」メソッドを呼び出します。

$app->make_return_args

「$app->state_params」および「$app->mode」メソッドから得られるデータを用いて、戻り先URLのクエリー・パラメーターのリストを作成します。

$app->mode([$mode])

アクティブなアプリケーションの実行モードを取得または設定します。

$app->state_params

アプリケーションの状態を保持するパラメーター名のリストを返します。これらのパラメーターは、アプリケーションのinitメソッドで、メンバー変数「state_params」を使って宣言されます。

$app->{state_params} = ['filter','page','blog_id'];
$app->return_args([$args])

「return_uri」メソッドが現在のリクエストの「戻り先」アドレスを作成する際に用いるクエリー・パラメーターの文字列を取得または設定します。

$app->return_uri

「$app->uri」および「$app->return_args」の値で構成される文字列を返します。

$app->uri_params(%param)

モードとパラメーターのセットを取り、URIのクエリー部分となる文字列を作成するユーティリティー・メソッドです。クエリー・パラメーターが存在する場合には、先頭に「?」がついた文字列が返ります。

my $query_str = $app->uri_params(mode => 'go',
    args => { 'this' => 'that' });
# $query_str == '?__mode=go&this=that'
$app->session([$element[,$value]])

アクティブなユーザーのセッション・オブジェクトを返します。ユーザーのセッション・レコードに任意のデータを割り当てるための取得/設定メソッドとしても機能します。アクティブなリクエストの終了時には、保存されていないすべてのセッション・データがMT::Sessionのレコードに書き込まれます。

# 「color」パラメーターの値をユーザーのセッションに保存します。
# この値はリクエスト間で保持されますが、
# ユーザーがログアウトした場合や、再認証が必要となった場合には
# クリアされます。
$app->session('color', $app->param('color'))
$app->start_session

「make_session」メソッドを呼び出すとともに、ユーザーのログインcookieを設定することで、新しいユーザー・セッションを初期化します。

$app->make_session

アクティブなユーザー用に、新規ユーザー・セッションとなるMT::Sessionレコードを作成します。

$app->show_error($error)

アプリケーションのエラー表示を処理します。

$app->static_path

アプリケーションの静的URLを返します。

$app->takedown

クリーンアップのため、HTTPリクエストの終わりに呼び出されます。

$app->add_breadcrumb($name, $uri)

アプリケーション使用中のエンド・ユーザーのブラウザーに表示されるパスを、ナビゲーション履歴に追加します。最後のパンくずリストは、必ず、現在のアプリケーションのアクティブなモードへのリファレンスでなければなりません。たとえば次のように呼び出します。

$app->add_breadcrumb('Edit Foo',
$app->uri_params(mode => 'edit', args => { '_type' => 'foo' }));
$app->add_methods(%arg)

アプリケーション・クラスに、利用可能な実行モードのリストと、それぞれのモードのコード・リファレンスを提供します。%argは、メソッド名とそれに対応するコード・リファレンスのハッシュでなければなりません。たとえば次のように呼び出します。

$app->add_methods(
    'one' => ¥&one,
    'two' => ¥&two,
    'three' => ¥&three,
);
$app->add_plugin_action($where, $action_link, $link_text)

$whereで指定した場所を用いて、指定したプラグインを実行するためのリンクを追加します。これにより、たとえば、編集中のエントリーを対象とする処理をプラグイン中に作成することができます。ユーザーが編集していたオブジェクトのタイプとIDが、パラメーターとして渡されます。このメソッドが引数$whereから取得する値は次のとおりです。

  • list_entries
  • list_commenters
  • list_comments
  • <type>(ここで<type>とは、'entry'、'comment'、'commenter'、'blog'など、ユーザーがすでに編集可能である任意のオブジェクトです。)

$whereの値は、「from」という名前のCGIパラメーターとして、指定した$action_linkに渡されます。たとえば、エントリー一覧のページでは、リンクは次のような形になります。

<action_link>&from=list_entries

$whereが単一項目のページ(たとえばエントリーの編集ページ)の場合、$action_linkにはidという名前のCGIパラメーターも渡されます。このパラメーターの値は、対象となるオブジェクトのIDです。

<action_link>&from=entry&id=<entry-id>

リンクは必ず、末尾にアンパーサンドを追加して作成されます。したがって、実行用リンクが「my-plugin.cgi」のように、CGIスクリプトの名前のみの場合、次の例のように、末尾に「?」を追加した状態で$action_linkに指定する必要があります。

MT->add_plugin_action('entry', 'my-plugin.cgi?', ¥
    'Touch this entry with MyPlugin')

最後に、引数$link_textにはリンクのテキストを指定します。このテキストが、$action_linkにリンクする<a>タグで囲まれます。

$app->app_path

アクティブなURIのパス部分を返します。

$app->app_uri

実行中のアプリケーションのURIを返します。

$app->mt_path

MTのCGIスクリプトにアクセスするためURIのパス部分を返します。

$app->mt_uri

MTの「管理用」スクリプトへの完全なURIを返します(通常はmt.cgiへのリファレンスです)。

$app->blog

アクティブなブログ(もしあれば)を返します。クエリー・パラメーターblog_idでこのブログを識別します。

$app->build_page($tmpl_name, ¥%param)

クライアントに送信するためのアプリケーション・ページを作成します。ページ名は$tmpl_nameで指定します。これは、有効なHTML::Templateタグを含むテンプレート・ファイルの名前でなければなりません。「¥%param」は、そのテンプレートで使うためにHTML::Template::paramに渡されるハッシュ・リファレンスです。

作成に成功すると、このメソッドはクライアントに送信するページを格納したスカラー値を返します。失敗した場合にはundefを返し、エラー・メッセージは「$app->errstr」で取得できます。

build_pageがテンプレートを探す方法

build_pageメソッドは、アプリケーション用のテンプレートをいくつかの場所で探します。環境設定の2つの項目を変更することにより、この検索パスを変更することができます。また、アプリケーションやプラグインのコード中でも変更可能です。

環境設定ファイルの項目TemplatePathは、MT本体のテンプレートが存在するディレクトリへの絶対パスです。デフォルトでは、mt_dirに指定したディレクトリに、"/tmpl"を追加したものとなっています。

オプションの環境変数であるAltTemplatePathは、「オーバーライド用テンプレート」が存在するディレクトリへのパス(絶対パスまたは相対パス)を指定するものです。オーバーライド用テンプレートとは、MT本体用のテンプレートの代わりに用いるもので、本体のテンプレートと互換性があります。これにより、パワー・ユーザーが、MTアプリケーションのルック・アンド・フィールをカスタマイズできるようになっています。AltTemplatePathに相対パスを指定した場合、Movable Typeの環境設定ファイルが存在する場所が起点となります。

さらに、「MT::App」にもとづいて構築されたすべてのアプリケーションで、独自のtemplate_dirパラメーターを定義することができます。これは、TemplatePath(またはAltTemplatePath)配下の、アプリケーション専用のテンプレートが置かれるサブディレクトリを指定するものです。template_dirのデフォルトは"cms"になっています。たいていのテンプレートはこのディレクトリにありますが、時として、テンプレート検索が、デフォルトのエラー・テンプレートのある親ディレクトリで止まってしまうことがあります。

最後に、プラグインではplugin_template_pathを指定することができます。これは、そのプラグイン独自のインターフェースのためのテンプレートがあるディレクトリを指定するものです。plugin_template_pathが相対パスの場合、起点はapp_dirmt_dirと解釈され、前者を起点として該当するディレクトリが見つかれば、そちらが優先されます(app_dirmt_dirの定義については、「perldoc MT」を参照してください)。

これらの値を指定した状態で、次の順序でテンプレートが検索されます。

  1. plugin_template_path
  2. AltTemplatePath
  3. AltTemplatePath/template_dir
  4. TemplatePath/template_dir
  5. TemplatePath

指定された名前のテンプレートがこれらのディレクトリのどこにも見つからない場合、ユーザーにはみにくいエラーが表示されます。

$app->cookie_val($name)

指定されたcookieの値を返します。

$app->delete_param($param)

指定されたCGIパラメーターの値をクリアします。

$app->errtrans($msg[, @param])

メッセージ中のパラメーターを@paramを用いて置換することで、テキスト・メッセージ$msgを変換します。また、このメソッドはアプリケーションのエラー状態を設定し、変換後のテキストをエラー・メッセージに割り当てます。

$app->get_header($header)

指定したHTTPヘッダーの値を返します。

MT::App->handler

アプリケーションがmod_perlのネイティヴ・ハンドラーとして実行されるときに使われるmod_perlハンドラーです。

$app->init(@param)

デフォルト値を設定し、実行に必要なパラメーターを設定することで、アプリケーション・オブジェクトを初期化します。@paramに指定した値は親クラスの「MT」パッケージに渡されます。MT::Appサブクラスはすべて、オブジェクトの初期化時に、このメソッドを呼び出す必要があります。

$app->is_authorized

アクティブなユーザーがアプリケーションへのアクセス権を持つと認証された場合にtrueを返します。デフォルトでは、常にtrueを返しますが、サブクラス中でオーバーライドして、アプリケーション固有の認証を受けているかをチェックするようにすることもできます。is_authorizedがfalseを返すと、MT::Appレベルで汎用エラー・メッセージを出力して認証が拒否されます。ただしMT:Appのサブクラスでは、より詳細なエラー・メッセージを出すために、より詳細なチェックを行う必要があることもあるでしょう。

サブクラスの作成者は、このルーチンが呼び出されたときに、認証を受けたユーザーが$app->{author}に入っており、また、$app->{query}と$app->param()を用いてCGIクエリー・オブジェクトが取得できる、という前提でサブクラスを作成することができます。

$app->is_secure

アプリケーションへのリクエストがセキュアな(HTTPSによる)接続によって送られたものかどうか、truefalse値を返します。

$app->l10n_filter

「MT->translate_templatized」へのエイリアスです。

$app->param($name[, $value])

CGIのクエリー・パラメーターの取得と設定を行うためのインターフェースです。たとえば次のように呼び出します。

my $title = $app->param('entry_title');

バージョン3.16以前のMovable Typeでは、MT::App::param()メソッドがサポートされませんでした。こういった環境では、$app->{query}というCGIオブジェクトの「param」メソッドが、このメソッドと同等の機能を実現します。

$app->param_hash

すべてのクエリー・パラメーター名とその値を格納するハッシュ・リファレンスです。たとえば次のように呼び出します。

my $data = $app->param_hash;
my $title = $data->{entry_title};
$app->post_run

このメソッドは、リクエストされた「__mode」ハンドラーの実行直後に、引数なしで呼び出されます。戻り値は無視されます。

このメソッドは、「__mode」ハンドラーがMT::ErrorHandlerメカニズムを通じてエラー・状態を返したかどうかにかかわらず呼び出されますが、ハンドラーが「die」した場合には呼び出されません。

MT::Appのサブクラスでは、任意の「__mode」ハンドラーが実行された後、ページがクライアントに送信される前に呼び出したい処理を記述してオーバーライドすることができます。このようにオーバーライドしたメソッド内では、MT本体の実行後処理が必ず実行されるよう、「SUPER::post_run」を呼び出す必要があります。

$app->pre_run

このメソッドは、リクエストされた「__mode」ハンドラーに処理を渡す前に、引数なしで呼び出されます。戻り値は無視されます。

「pre_run」は、リクエストが認証されなかった場合には呼び出されません。「pre_run」が呼び出され、「die」しなかった場合、「__mode」ハンドラーが呼び出されます。

MT::Appのサブクラスでは、リクエストで指定された「__mode」ハンドラーが何であるかに関係なく、その前に実行したい処理を記述してオーバーライドすることができます。このようにオーバーライドしたメソッド内では、MT本体の実行前処理が必ず実行されるよう、「SUPER::pre_run」を呼び出す必要があります。

$app->query_string

アクティブなリクエストのCGIクエリー文字列を返します。

$app->request_content

アクティブなHTTPリクエストのPOSTデータを格納したスカラー値を返します。$app->{no_read_body}の値がtrueであっても、リクエスト・ボディーが強制的に読み込まれます(no_read_bodyドキュメントは準備中です)。

$app->request_method

アクティブなHTTPリクエストのメソッドを返します。通常は"GET"か"POST"のいずれかです。

$app->response_content_type([$type])

HTTPレスポンスのContent-Typeヘッダーを取得または設定します。

$app->response_code([$code])

HTTPレスポンス・コード(レスポンスの「ステータス行」の最初にある数値)を取得または設定します。デフォルトは200です。

$app->response_message([$message])

HTTPレスポンス・メッセージを取得または設定します。「ステータス行」中のいわゆる「Reason-phrase」(理由等を示す句)です。

$app->response_code("404");
$app->response_message("Thingy Not Found");

としてこのメソッドを呼び出すと、次のようなステータス行がクライアントに返されます。

404 Thingy Not Found

デフォルトでは、Reason-phraseは空文字列ですが、レスポンス・コードに応じたReason-phraseをウェブ・サーバーが割り当てることもあります。

$app->set_header($name, $value)

指定した名前と値のHTTPヘッダーをレスポンスに追加します。

$app->validate_magic

magic_tokenHTTPパラメーターがあるかどうかを調べ、それが現在の投稿者に対して有効かどうかをチェックします。無効な場合はアプリケーションにエラー・メッセージが渡され、戻り値としてfalseが返ります。有効な場合は1が返ります。たとえば次のように呼び出します。

return unless $app->validate_magic;

フォームに有効なトークンを含めるには、次のようにhiddenフィールドにトークン値を書き込みます。

<input type="hidden" name="magic_token" value="<TMPL_VAR NAME=MAGIC_TOKEN>" />

ハイパーリンクを保護したい場合には、そのリンクのクエリー・パラメーターにこのトークンを追加します。

$app->redirect($url, [option1 => option1_val, ...])

クライアントを$urlというURLにリダイレクトします。$urlが絶対URLでない場合には、その前に「$app->base」の値が付加されます。デフォルトでは、このリダイレクトはLocationヘッダーと「302 Redirect」というレスポンスによって行われます。

「UseMeta => 1」オプションを指定した場合、リダイレクト用の<meta>タグを含むtext/htmlタイプのエンティティー・ボディーを送信することでリダイレクトを行います。このオプションを使うと、「302 Redirect」レスポンスに含まれるcookieを受け付けないクライアントに対処することができます。

$app->base

アプリケーションのプロトコルとFQDNです。たとえば、アプリケーションの完全なURIがhttp://www.foo.com/mt/mt.cgiの場合、このメソッドは"http://www.foo.com"を返します。

$app->path

アプリケーション・ディレクトリのURLのパス部分です。たとえば、アプリケーションの完全なURIがhttp://www.foo.com/mt/mt.cgiの場合、このメソッドは"/mt/"を返します。

$app->script

CGI環境では、アクティブなCGIスクリプトのファイル名を返します。たとえば、スクリプトの完全なURLがhttp://www.foo.com/mt/mt.cgiのとき、このメソッドは"mt.cgi"を返します。mod_perl環境では、Request-URIからクエリー文字列を除いたものを返します。

$app->uri([%params])

「$app->path」と「$app->script」を連結したものを返します。たとえば、完全なURIがhttp://www.foo.com/mt/mt.cgiのとき、このメソッドは"/mt/mt.cgi"を返します。%paramsを指定した場合、これらのパラメーターは「$app->uri_params」に渡して処理されます。

return $app->redirect($app->uri(mode => 'go', args => {'this'=>'that'}));
$app->path_info

リクエストのPATH_INFO(つまり、URIからスクリプト自体へのパスを除いて残ったもの)です。

$app->log($msg)

ログにメッセージ$msgを追記します。ログ・エントリーには、「$app->remote_ip」を用いて、アプリケーションを実行しているクライアント(つまりHTTPリクエストを行ったブラウザー)のIPアドレスが付加されます。

$app->trace(@msg)

@msgの要素をすべて連結したトレース・メッセージを内部トレース・メカニズムに登録します。その後、トレース・メッセージはクライアントに送信される出力の最上部に表示されます。これらのメッセージは、環境設定パラメーターDebugModeが有効になっているときに表示されます。デバッグに役立ちます。

$app->remote_ip

クライアントのIPアドレスです。mod_perl環境では、このメソッドやApache::Connection::remote_ipを呼び出します。CGI環境では$ENV{REMOTE_ADDR}を利用します。

標準的なアプリケーション・テンプレートのパラメーター

アプリケーション・テンプレートの読み込み時には、あらかじめいくつかのパラメーターが設定されます。次に「MT::App」自身が設定するパラメーターの一部を示します。

AUTHOR_ID =item * AUTHOR_NAME

現在ログインしているユーザーを表すMT::AuthorのIDとログイン名です。

MT_VERSION

MT->version_idが返す値です。通常はリリース・バージョンの番号のみですが、β版などの特殊なリリースの場合には、識別用の接尾辞も含みます("3.2b"など)。

MT_PRODUCT_CODE

Movable Typeのバージョンを識別するためにSix Apartが指定したプロダクト・コードです。現在、可能な値は次のとおりです。

  • MT- Movable Type
  • MTE - Movable Type Enterprise
MT_PRODUCT_NAME

使用中の製品の名前です。

LANGUAGE_TAG

現在ログインしているユーザーのアクティブな言語識別子(あるいはログインしているユーザーがいない場合には、MTインストール時のデフォルト言語)です。

LANGUAGE_xx

特定の言語についてテストを行うとき、動的に名付けることのできるパラメーターです。

<TMPL_IF NAME=LANGUAGE_FR>Parlez-vous Francias?</TMPL_IF>

これはテンプレート中の一部をアクティブな言語に応じて表示/非表示にするもので、アプリケーションをローカライズする方法として推奨されるものではないことに注意してください。

LANGUAGE_ENCODING

そのアプリケーションに対して設定されている文字エンコードです。これはMT環境設定ファイルの「PublishCharset」に対応します。

STATIC_URI

mt-config.cgi中での「StaticWebPath」または「AdminCGIPath」の設定値を出力します。いずれの値が用いられるかは、アクティブなCGIが管理用CGIスクリプトかどうかによります(アクティブなCGIが、mt-comment.cgiのようにエンド・ユーザーが使うものではなく、mt.cgiのように管理者が使うものである場合には、通常、管理用CGIとなります)。

<TMPL_VAR NAME=STATIC_URI>images/logo.gif

StaticWebPathが'/mt/'であるとすると、上のテンプレート・コードによる出力は

/mt/mt-static/images/logo.gif

となり、StaticWebPathが'http://example.com/mt-static/'の場合には、次のようになります。

http://example.com/mt-static/images/logo.gif
SCRIPT_URL

アクティブなCGIスクリプトの相対URLを返します。

<TMPL_VAR NAME=SCRIPT_URL>?__mode=blah

上のテンプレート・コードによる出力は、たとえば次のようになります。

/mt/plugins/myplugin/myplugin.cgi?__mode=blah
MT_URI

Movable Typeのアプリケーション・スクリプト(mt.cgiまたは環境設定でAdminScriptに指定されたスクリプト)の相対URLを返します。

<TMPL_VAR NAME=MT_URI>?__mode=view&_type=entry&id=1&blog_id=1

上のテンプレート・コードによる出力は次のようになります。

/mt/mt.cgi?__mode=view&_type=entry&id=1&blog_id=1
SCRIPT_PATH

スクリプトのURLのうち、パス部分を返します。

<TMPL_VAR NAME=SCRIPT_PATH>mt-check.cgi

上のテンプレート・コードによる出力は次のようになります。

/mt/mt-check.cgi
SCRIPT_FULL_URL

アクティブなスクリプトの完全なURLです。プロトコルとFQDNを含めた完全なURLを出力したい場合に有用です。

<TMPL_VAR NAME=SCRIPT_FULL_URL>?__mode=blah

上のテンプレート・コードによる出力は次のようになります。

http://example.com/mt/plugins/myplugin/myplugin.cgi

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