🤖
MTAppjQueryのmtappVars.debug_modeを活用してみる
mtappVars.debug_mode を利用することで、MovableTypeのデバッグモードで条件を加えることが可能です。
コンソールで mtappVars.debug_mode
と打つと 設定した値が返ってきます。
user.jsの定数にこのような真偽値を用意しておきます。
const CONSTANT = {
DEBUG_MODE : mtappVars.debug_mode === '1',
}
DEBUG_MODEは、MovableTypeのデバッグモードが ON
になってるときに trueを返します。
この値を利用してデバッグモードの時だけ実行したいコードの検証に使えます。
マルチフィールドのデバッグモードをONにできる
MTAppjQueryのマルチフィールドの中身はJSONです。
デバッグモードをONにすることで、セットされた値をJSONで参照することができます。
mtapp.multiField({
version: 2,
debug: false, // 真偽値でJSONを表示できます。
id: 28,
})
先程の定数 DEBUG_MODE
を利用して以下のように設定しておくことで、MOvable Typeのデバッグモード時にマルチフィールドもデバッグモードに変更されます。
const CONSTANT = {
DEBUG_MODE : mtappVars.debug_mode === '1',
}
mtapp.multiField({
version: 2,
debug: CONSTANT.DEBUG_MODE,
id: 28,
})
デバッグモードが有効の時だけ処理を加える
定数に真偽値を返すことで、マルチフィールド以外の活用方法ができます。
例えば、デバッグモード時に出しておきたいアラートメッセージなども活用できます。
前回の記事で紹介した、getMultiField.idを当てることでフィールドのIDの上部に追加することができます。
const debugModeMessage = (id) =>
CONSTANT.DEBUG_MODE &&
$(`#contentField${id}`).before(
`<div class="mt-3 h4 alert alert-danger" role="alert">開発者モードのため、下記のテキストエリアの編集はお控えください。</div>`
);
// ここは前回の記事を参照してください。
debugModeMessage(getMultiField.id);
user.jsに直接デバッグモードを記述せずに、Movable TypeのデバッグモードのON/OFF
で処理を変えることが可能になります。
コードをいじらずにモードを切り替えすることが可能になるので、様々な場面で利用できると思います。
Discussion