完成したコード
はじめに完成したコードは下記のようになります。
<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の直前)」欄で読み込んでも良いでしょう。