公開日:
システムメニューの「プラグイン設定」画面で、TreeOrder のライセンスキーを入力して「認証」ボタンを押しても何も起きない場合がある不具合を修正しました。
弊社の他のライセンス付きプラグイン(AITranslator など)を同じ Movable Type に導入している場合に発生します。TreeOrder のみをご利用の場合は影響ありません。
Movable Type の「プラグイン設定」画面は、インストールされている全プラグインの設定テンプレートを 1 ページにまとめて出力します。そのため、複数のプラグインが同じ DOM id を使っていると、ページ内で id が重複します。
TreeOrder は license-key-input のようなプレフィックスのない id を使用していました。JavaScript の document.getElementById() は最初に見つかった 1 つしか返さないため、ページ内で TreeOrder より先に出力される他プラグインが同じ id を使っていると、TreeOrder のスクリプトが他プラグインの要素を掴んでしまい、「認証」ボタンを押しても TreeOrder 側の表示が更新されない状態になっていました。
@keyframes 名に to- プレフィックスを付与し、他プラグインとの衝突を回避しました。license-key-input → to-license-key-input、.license-spinner → .to-license-spinnerlicense-warning)にも同様にプレフィックスを付与しました。name 属性(license_key / license_verified)は MT::PluginData によってプラグインごとにスコープが分かれており、もともと衝突しないため変更していません。plugins/TreeOrder/ および mt-static/plugins/TreeOrder/ を上書きしてください。データベースの更新は不要です。