トラブルシューティング
うまく動かないときの確認ポイントと、よくある質問(FAQ)をまとめています。
MTAppjQuery P7 を利用していて動作しない・意図どおりにならないときの確認ポイントと、よくある質問をまとめています。
まず確認すること
- プラグインが有効か — システムメニュー「プラグイン」に MTAppjQuery が表示され、設定の「MTAppjQuery を有効化」がオンになっているか。
user.jsが読み込まれているか — 設定の「user.js を利用」がオンで、ファイルが<MT_HOME>/mt-static/plugins/MTAppjQuery/user-files/user.jsに置かれているか。- ブラウザのキャッシュ —
user.jsはキャッシュされることがあります。変更が反映されないときは、対象画面でスーパーリロード(強制再読み込み)を行ってください。 - JavaScript コンソール — ブラウザの開発者ツールでエラーが出ていないか確認します。セレクタの綴り間違いやオプションの誤りはここに現れます。
よくある質問(FAQ)
user.js を編集したのに反映されません
多くはブラウザキャッシュが原因です。対象画面でスーパーリロードしてください。それでも変わらない場合は、プラグイン設定で「user.js を利用」がオンか、user.js の設置場所(mt-static/plugins/MTAppjQuery/user-files/user.js)が正しいかを確認します。
特定のメソッドだけ動きません
次の順に確認してください。
- 対象フィールドのセレクタ(例
#customfield_xxx)が正しいか。ID はMTAppDebugを使うと各フィールドに表示できます。 - 意図した画面で呼び出しているか。
mtappVars.screen_idで画面を判定し、その画面でのみ実行しているか。 - コンソールにエラーが出ていないか。1つのメソッドでエラーが起きると、以降の処理が止まることがあります。
mtappVars が undefined になります
mtappVars はプラグインが管理画面へ注入する変数です。active(MTAppjQuery を有効化)がオフだと注入されません。また、user.js は注入後に読み込まれるため通常は定義済みですが、安全のため次のように IIFE と型チェックでガードすることを推奨します。
(function ($) {
if (typeof mtappVars !== 'object') return;
if (mtappVars.screen_id === 'edit-entry') {
// ここにメソッドを記述
}
})(jQuery);どの画面で動くのか分かりません
管理画面ごとに mtappVars.screen_id の値が異なります(記事編集画面なら edit-entry、一括編集画面なら batch-edit-entry など)。目的の画面の screen_id を条件にして呼び出してください。値が分からないときは、対象画面のコンソールで mtappVars.screen_id を確認できます。
Data API を使うメソッドが動きません
MTAppListing / MTAppShowListEntries / MTAppMultiFileUpload、および MTAppAssetFields のサムネイル取得は Data API を利用します。プラグイン設定(システムスコープ)で「DataAPI SDK を利用」を有効にしてください。get_thumbnail を使う機能は Data API v2 以降が必要です。SDK を有効にすると、ログイン中の管理画面ユーザーでアクセストークンが自動発行されるため、再ログインは不要です。
プラグインが一覧に表示されません
plugins/MTAppjQuery/(サーバーサイド)と mt-static/plugins/MTAppjQuery/(静的アセット)の両方が正しい場所に設置されているか、ファイルの読み取り権限(パーミッション)が適切かを確認してください。設置場所はインストールのセクションを参照してください。
設定がブログ(スペース)によって効いたり効かなかったりします
MTAppjQuery の設定にはシステムスコープ(全体)とブログ(スペース)スコープがあります。項目によってどちらで設定するかが決まっています。スコープごとの挙動は「プラグイン設定」を参照してください。
関連
- はじめに — インストールと使い方の流れ。
- プラグイン設定 — 各設定項目とスコープ(システム/ブログ)の説明。
- メソッドリファレンス — 各メソッドの構文・パラメータ・使用例。