MovableType7で旧プラグイン

らら
らら

はじめに

MovableType5,6時の自作プラグインをMovableType7でテストしたときの話です。

MovableType7に過去の自作プラグインをいれてみた

。。。うごかない。。よ。不正な要求です。って

どうも、MovableType7ではセキュリティ回りが強化されたみたい。

print & exitでデバックして、 MT::Commonのsaveでとまるのがわかった。

ぐぐってみると、config.yamlで設定を追加すればいいみたい。

データソース名はプログラムでつかっているものを設定します。


    cms:
        enable_object_methods:
            データソース名:
                delete: 1
                save: 1

動作確認してみた。

不正な要求ですはでなくなった。。おわり・・・・・?!

自作で追加した管理画面をみると。。

ん??

デザインが・・・・MovableType6

ん??

POPUP設定画面・・・・POPUPしない

管理画面周りのテンプレートを確認

まず、古いデザインの原因をさぐる

MovableType6とかは、こんな感じでいけてた。


<mt:setvarblock name="page_title">ページの名称</mt:setvarblock>
<mt:include name="include/header.tmpl">
ここにメインの設定画面をつくる。
<mt:include name="include/footer.tmpl">

MovableType7では、こんな感じになってた。

layout/default.tmplの中身をみるとlayout/common/header.tmplが別で呼ばれてる・・

なるほど。。include/header.tmplも存在しているから見えることは見えるみたい。


<mt:include name="layout/default.tmpl">
<mt:var name="layout">

でも、新しい管理画面に緑が浮いてる・・・それにMTのロゴがでかくてレイアウトくずれてるし・・

なおすの・・・か・・・

POPUPも調査してみた。bootstrapのおまじないのclassに必要みたい。

時間かかりそう。

対策方法をメモしておこう

時間かかりそうなので、すぐできない感じなので今回は、対策方法をさぐって終わろう・・・かな。。

まず、テンプレート切り替えは古いのとMT7も同居させたいので

テンプレートをバージョンで分ける。きっとこんな感じ

MTVersionは小数点とかあるから わかりずらいけどlt ge=つかうこと


<MTVersion setvar="mtversion">
<mt:if name="mtversion" lt="7">
<mt:var name="page_content">
</mt:if>
<mt:if name="mtversion" lt="7">
<mt:include name="include/footer.tmpl">
</mt:if>
<mt:if name="mtversion" ge="7">
<mt:include name="layout/default.tmpl">
<mt:var name="layout">
</mt:if>

プログラム側は、これかな


	if(MT->version_number >= 7 ) {
	}
	if(MT->version_number < 7 ) {
	}

bootstrap追加クラス

POPUPの呼び出しはbuttonタグに追加

winmageで差分で判断してみた。全部ではないです。


<mt:if name="mtversion" ge="7">
                data-mt-modal-close=""
                data-dismiss="modal"
</mt:if>

textarea


<mt:if name="mtversion" ge="7"> form-control</mt:if>

button


<mt:if name="mtversion" ge="7"> btn btn-primary</mt:if>

POPUPのクローズ


<mt:if name="mtversion" ge="7">
        jQuery.fn.mtModal.close();
<mt:else>
        parent.jQuery.fn.mtDialog.close();
</mt:else>
</mt:if>

さいごに

MovableType6からバージョンする場合は、標準のプラグイン以外を入れている場合、注意が必要です。

ちなみに筆者は、過去の自作プラグインは、まだ修正していません。

今回はメモ書きです。実際には、試していません。

関連記事