Last modified date : 2015/04/22

完成したコード

はじめに完成したコードは下記のようになります。

<script>
if (mtappVars.scope_type === 'user' &&
    mtappVars.mode === 'dashboard' &&
    mtappVars.can_access_blogs_json.website.length == 1)
{
    location.href = CMSScriptURI + 
                    '?__mode=dashboard&blog_id=' + mtappVars.can_access_blogs_json.website[0].id;
}
</script>

解説

if 文の中にある下記の2行でユーザーダッシュボードを特定しています。

mtappVars.scope_type === 'user' &&
mtappVars.mode === 'dashboard'

また、下記のコードで1つのウェブサイトしか権限を持たないことをチェックしています。

mtappVars.can_access_blogs_json.website.length == 1

もし、1つのブログしか権限を持たないことをチェックする場合は、下記のようになります。

mtappVars.can_access_blogs_json.blog.length == 1

これらの条件にマッチした場合は、下記のようにしてリダイレクトさせます。

location.href = CMSScriptURI + '?__mode=dashboard&blog_id=' + mtappVars.can_access_blogs_json.website[0].id;

このカスタマイズは、特定のウェブサイト/ブログだけでなく管理画面全体に適用させる必要があるので、上記のコードは MTAppjQuery のシステムのプラグイン設定に書きます。

また、HTML 中のできるだけ早い位置で実行すべきなので、プラグイン設定の「変数 html_head に追加(mt.jsの直前)」欄に書くことを推奨します。

なお、直接プラグイン設定欄に書かなくても、外部ファイルにまとめて、そのファイルをシステムのプラグイン設定の「変数 html_head に追加(mt.jsの直前)」欄で読み込んでも良いでしょう。