MTAppJQueryでブログIDを動的に取得する方法

初心者にとってMovableTypeのカスタマイズで難しいのが「管理画面」。

それをjQueryの知識だけで簡単にしてくれるのが「MTAppJQuery」というプラグインです。 このプラグインの便利さはここに書ききれませんが、今回はMTAppJQueryでの悩みの一つである「ブログごとにカスタマイズ内容を変えたい場合はどうするか?」という点。 ここを明らかにしていきたいと思います。

ブログIDを取得して分岐

結論から言うと、作成したブログ毎のブログIDを「m「user.js」ファイル内で取得できれば、あとはif文を使って以下のように分岐させることができます。

//編集中のブログIDを取得
blogID = mtappVars.blog_id;
//ブログ1
if (blogID == 1) {
$.MTAppCustomize({
basename: 'title',
show_field: 'hide'
});
...
//ブログ2
} else if (blogID == 2) {
...
}

見てお分かりのように「mtappVars.blog_id」を参照することによって、動的にブログIDを取得することができるんですね。 このmtappVarsには他にどのような変数が格納されているかを挙げてみます。

mtappVars内に定義された変数

変数名 説明
author_id 作者ID 2
blog_id ブログID 3
entry_id エントリーID 1
page_id ウェブページID 1
category_id カテゴリーID 2
template_id テンプレートID 0
blog_url ブログURL 1
static_plugin_path MTAppJQueryの静的プラグインパス /mt/mt-static/plug-ins/MTAppJQuery
html_title タイトル <__trans phrase="Dashboard">
scope_type スコープタイプ blog
selected_category 選択中のカテゴリー(配列) []
main_category_id メインカテゴリーID 0
screen_id スクリーンID dashboard
body_class bodyタグに付けられたクラス名 ["main-screen","blog","has-menu-nav"]
template_filename テンプレートファイル名 dashboard
json_can_create_post_blogs 不明 []

これだけ事前に分かっていれば、エントリー編集画面だけでなく、記事リストなどの様々な管理画面でも利用できると思います。

このページをシェアする

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

2012-04-15