MTAppCreateLink
画面名(ユーザーダッシュボード/ダッシュボード)から対応する管理画面の URL 文字列を生成して返す静的メソッド。該当しない場合は空文字を返す。MTAppUserMenuWidget のメニュー URL 生成などに使う。
指定した画面名に対応する管理画面の URL 文字列を生成して返す静的メソッドです。ダッシュボードへのリンクを作りたいときなどに使います(MTAppUserMenuWidget のメニュー項目の URL 生成などで利用します)。
構文
const url = $.MTAppCreateLink(options);静的メソッド($.MTAppCreateLink)です。戻り値の URL 文字列を受け取って使います。
パラメータ
options {Object} — 以下のプロパティを持ちます。
| プロパティ | 型 | 既定値 | 説明 |
|---|---|---|---|
title | string | '' | 生成対象の画面名。'ユーザーダッシュボード' または 'ダッシュボード'(必須) |
blog_id | number | 0 | 'ダッシュボード' の URL に付与するサイト/ブログ ID |
id | number | 0 | 予約(現状未使用) |
戻り値
{string} — 生成した URL。title がいずれにも該当しない場合は空文字('')。
使用例
// ユーザーダッシュボード(サイト横断)の URL
const userUrl = $.MTAppCreateLink({ title: 'ユーザーダッシュボード' });
// → "<CMSスクリプト>?__mode=dashboard"
// 特定サイトのダッシュボードの URL
const siteUrl = $.MTAppCreateLink({ title: 'ダッシュボード', blog_id: 2 });
// → "<CMSスクリプト>?__mode=dashboard&blog_id=2"user.js での記述例
user.js(「デザイン → user.js を編集」)に書く場合は、mtappVars.screen_id で画面を判定して呼び出します。
(function ($) {
if (typeof mtappVars !== 'object') return;
if (mtappVars.screen_id === 'edit-entry') {
const userUrl = $.MTAppCreateLink({ title: 'ユーザーダッシュボード' });
}
})(jQuery);補足
- URL の先頭は Movable Type の CMS スクリプト URI(
CMSScriptURI、例/cms/mt/mt.cgi)になります。 titleは 画面名の文字列で振り分けます。'ユーザーダッシュボード'/'ダッシュボード'以外を渡すと空文字を返します。- このメソッド自体は URL 文字列を返すだけで、画面遷移や DOM の操作は行いません。
MTAppUserMenuWidgetなどにリンク先として渡して使います。
関連
MTAppUserMenuWidget— トップバーにメニュー/ウィジェットを追加する(メニュー項目の URL に本メソッドの戻り値を使える)。