MovableType

MTアイテムのアップロードオプションを全ユーザ&全ブログに設定するjQuery

MovableTypeのアイテムのアップロードオプションを全ユーザ&全ブログに設定するjQueryを作成しました。
アイテムを追加するときは、「既存のファイルを上書きする」をデフォルトにしたいのに、ユーザを作成するたびに「既存のファイルを残して、別のファイル名でアップロードする」になってしまう・・・。
を解決するためにjQueryを書きました。

必要なプラグイン

MTAppjQuery
MTの管理画面をjQueryでカスタマイズして使いやすくするプラグインを入れておきます。

カスタムフィールドからアイテムを追加の場合

user.js
$(document).ready(function() {
  $('.mt-dialog').on('DOMSubtreeModified propertychange', function(){
    $('iframe').contents().find('#auto_rename_non_ascii').prop('checked', false);
    $('iframe').contents().find('#operation_if_exists').val('2');
    $('iframe').contents().find('#normalize_orientation').prop('checked', false);
  });
});

アイテムを追加するとき、htmlでは.mt-dialogクラス配下にiframeが現れます。ここの設定をjQueryで変更してしまいます。

変更を監視

DOMSubtreeModified propertychang

ファイル名の変更

#auto_rename_non_ascii

既存ファイルの処理

#operation_if_exists

  • val('1') :既存のファイルを残して、別のファイル名でアップロードする
  • val('2') :既存のファイルを上書きする
  • val('3') :アップロードしない
画像向きの修正

#normalize_orientation

メニューからアイテムを追加の場合

動的にiframeを生成するわけでないので、以下の記述のみでOK。

user.js
$('#auto_rename_non_ascii').prop('checked', false);
$('#operation_if_exists').val('2');
$('#normalize_orientation').prop('checked', false);

以上。