Results tagged “MT4”

MT5にアップグレードした

MT4 + SQLite >> MT5 + SQLite >> MT5 + MySQL と長い旅路を経てようやく(今更)MT5にアップグレードできました。
色々無茶な拡張を重ねていたので、convert-db実行時に一部データが消失したり等、いくつかのトラブルが発生しましたが、懸念していた文字化けなど、MT本体についてMT4からMT5で大きな変更があった点については、問題なく作業が進みました。一般的な環境での作業なら、ほぼノートラブルでアップグレード出来るのではないかと思います。

幾つかプラグインをドロップしたので、テンプレートもそのままでは再構築できず。えいっとPicoベースに変更しました。すっきりしていて好みのデザインです。
久々にテンプレートのカスタマイズをして、普段使わない脳みその部位が脳肉痛です。Archivesのページでは、前から考えていたAjaxを使ったツリー展開を試してみました。なかなか軽快に動作しているので満足しています。このカスタマイズは後で手順をまとめておこうと思います。乞うご期待!

という事で、ゴールデンウィークのまっただ中、丸一日MTと戯れてマジ楽しい一日でした。

「$pkg = '$Core::MT::CMS::'」と宣言されているから、 「${pkg}Dashboard::dashboard」というのは「$Core::MT::CMS::Dashboard::dashboard」 のことだと思う。

で、この「$Core」というのが何なのかわからない。

カレントのComponentをFooにセットしてから、Bar::buzを実行してくれ、という意味になります。
上の例で言えば、カレントのComponentとして'Core'を設定した上で、MT::CMS::Dashboardパッケージのdashboardメソッドを実行しろ、ということです。

[mt.js]mt:tabを使ってみる

MT4の管理画面では、かなりしっかりした独自のJavaScriptライブラリ(mt.js)が用意されています。Transformerやalt-tmplでの管理画面のカスタマイズに応用できると良いのですが、残念ながら、今のところまとまったドキュメントも無く、応用するのが難しい状況です。

でもやっぱり、そんな使えるライブラリを放置するともったいないお化けが出るぞ、ということで、mt.jsの機能の中で一番簡単そうな、タブ機能の使い方を調べてみました。

<mt:setvar foo value="fizz","buzz">
こんなMTタグの書き方はありでしょうか!?実はありなんです!

というわけで、MT4.1で利用可能なMTタグの書式を調べてみました。

全般編

基本形
<$MTBlogName$>
$マークは省略出来る
<MTBlogName>
かたっぽだけというのもOK。ただしかっこ悪い。
<$MTBlogName>
<MTBlogName$>
これはMT3から省略できました。ちなみに、ブロックタグでは$マークをつけること自体出来ません。ブロックの閉じタグの頭のスラッシュ「/」と$マークが両立できないためです。
末尾に/を付けられる
これはMT4からの機能。
<MTBlogName />
XMLの空タグ風に記述できます。これもブロックタグでは使えないかと思われます。

タグ名編

大文字小文字は問わない
MT4より。
<mtblogname>
<mtBlogName>
<mTblOgnAme>
すべてOKです
「MT」とタグ名の間にコロンを挟める
MT4より。
<mt:blogname>

モディファイア編

基本
キー="値"の形で指定します。
<mt:setvar name="foo" value="fizz">
値の括りはシングルクオートでも可
<mt:getvar name='foo'>
クオートを省略しても可
<mt:getvar name=foo>
ただし、半角スペースのような、単語の区切りとみなされる物を値に含む場合はダメです。つまり、これはOKですが
<mt:setvar name=fizzbuzz value=15>
<mt:getvar name=fizzbuzz>
これはNGです。
<mt:getvar name=fizz buzz>
イコールの前後やアトリビュートの前後にスペースや改行を挟める
<mt:setvar name = "boo" value = " fizz buzz ">
<mt:getvar name = "boo" capitalize = "1" strip = "-" />
値には小なり「<」大なり「>」記号を含めることが出来る
実はMT4.1から。それ以前は大なり「>」を含めることが出来ませんでした。
<mt:setvar name="goo" value="<fizz><buzz>">
nameキーは省略可能
<mt:getvar goo>
これは、
<mt:getvar name="goo">
と同じ意味となります。
カンマ区切りで配列を渡せる
<mt:setvar moo value="fizz","buzz">
区切りはコロンでもOKです。
<mt:setvar weekdays value="sun":"mon":"tue":"wed":"thu":"fry":"sat">
なお、配列を指定する場合は、クオート(''や""の括り)が必須となります。
実際にモディファイアに直接配列を指定できるケースというのはそう多くは無いのですが、Entriesのidモディファイアや、regex_replaceグローバルモディファイアで利用することが出来ます。
<mt:entries id="1":"3":"5">
    <mt:entrytitle>
</mt:entries>
<mt:getvar boo regex_replace="/z/g","k">
$記号で変数展開
<mt:setvar doo value="foo">
<mt:getvar name="$doo">
これは、変数「foo」の値が出力されます。
この変数展開は、配列に対しても有効です。
<mt:setvars>
pattern=/z/g
replace=p
</mt:setvars>
<mt:getvar boo regex_replace="$pattern","$replace">
なお、[]や{}による配列やハッシュへのアクセスは、あくまで「mt:setvar」「mt:getvar」のタグに固有の機能となりますので、今回は調べませんでした。
おわり。

MT4のStyleCatcherでは、カラム数などのレイアウトを指定できるようになっています。テンプレートを編集せずにレイアウトを変更することが出来、非常に楽でよいです。

しかし、レイアウトが簡単に変更できる反面、メインページだけ3カラム、他は2カラム、といった使い分けが出来なくなっています。
そこで、StyleCatcherからレイアウトを変更でき、しかも必要なテンプレートでは別個にレイアウトを指定できるようなカスタマイズを行ってみました。