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