2008年3月 4日 20:57
仕事で使っているMT4.1だけど、納品前の段階では4.0環境下で色々設定をしていて、本番環境でバグ取りをしていたら、どうも表示されない部分とかがでてくる。
4.0環境ではきちんと表示されるのに・・・ということで色々ヘッダの情報やら、なんやらをみていたら、ひとつわかったこと。
4.1になって、正確さが増した!ということだ。4.0では曖昧な表現をしていてもOK!という感じだったけど、4.1では、曖昧な表現は許されない。だめー!って言われる。
ちなみに今回の問題はこれだった。
<$MTAssetThumbnailURL$>
というタグがございます。そしてもう一つ
<$MTAssetThumbnailLink$>
というタグもございます。
違いは、全社はURLのみ後者はリンク付のサムネイルを表示してくれるわけですな。・・・で、<$MTAssetThumnailLink$>のほうは、サムネイルを作成するので、結局サイズの指定が必要。なので、属性として、サイズの指定が可能なんだわ。つまり・・・
<$MTAssetThumbnail width="200"$>
って感じになるわけ。そこで、おいらはサムネイルの作成まではいいや!ということで、上のほうの<$MTAssetThumbnail$>を使おうと思ったんですな。
そんで、何も考えず、
<$MTAssetThumbnailURL width="200"$>
という表現で書いていた。
ここがポイント。この記述は正直おかしい。サムネイルにサイズはあるけど、URLにはサイズはない(文字数は別として・・・)。しかし、4.0ではこれを解釈してくれるのだ。(なんと心優しいことでしょう)解釈してくれるというか、これも素直に読んでくれる。なので、間違った記述をしていながらも、この場合幅200pxの状態でサムネイルが表示される。
すがす!(東北弁:しかし)
4.1では、ここいらきつぃーーーっと見でる。んだから、「エラーだべよ」ってことになる。すがも(しかも)、「エラーだべよ」と言っでくれるならまだすも、「オラ知らね」って無視される。ソースを見でみたら、<img src="">みたいに、なーんも入っとらん。そういう対応を4.1ではとられる。
何が正しい書き方かといえば、
<img src="<$MTAssetThumbnail$>" width="100">
みたいな書き方にしないといけないというわけ。
4.1になって色々変わってきているが、中身がこれで混乱しなくなったのは確かだろう。その分縛りが増えてきた。
というか、
「きちんと書けやい!」ということでしょう。
MovableType
| comment(0)
| trackback(0)
| ▲
2008年1月30日 21:22
仕事の関係でMTを色々触っているけど、今回なんかカウントできるものないかなーって思っていて、探していたらMTCounterってのをみつけた。これがかなり優秀。詳しくは↓
http://labs.m-logic.jp/2006/11/movabletypecounter_pluginver05.htmlこれでいろんなことができる。いわゆるループ処理の制御もできるようになるし、条件付で書き出したデータに対してカウントをかけることで、もろもろ処理が可能。またこの中には、奇数と偶数を判断してくれるファンクションや、剰余を算出してくれるファンクションが搭載されているので、データごとに色を変えたり、決まった数でまとめあげたりすることができる。
これは実に使い勝手のあるプラグインだ。
・・・と思っていたら、MT4.1が先週末にリリースされた。この4.1にはいわゆるfor文の機能もついていたり、変数のインクリメントやデクリメントが出来る機能が標準。うー、進化するもんじゃ。
しかし、仕事で使うのが4.0なので、このMTCounterはしっかりとお役に立ってくれそうだ。
MovableType
| comment(0)
| trackback(0)
| ▲
2007年12月 7日 20:22
今さらかもしれませんが、とりあえずメモとして・・・。
MT4のEntryBodyの記述をするとき、words属性を指定すると、テキストだけが表示される。wordsを指定しないと、写真も何もかも
ごった煮状態で表示されるけど、テキストだけを表示したいってなったときは、とてつもない数ででもいいからwords属性を使って表示したほうがいいか
も。
Bodyの部分はWYSIWYG形式で書いてしまうから、結局MTのタグ変換などがもちいられてしまう。
そうなると、結構面倒。
なので、そんなときには、
画像とテキストを分けて処理すればいいじゃない!
テキストだけをあるタグでくくって、words属性追加。写真は<MTAssetsThumnailLink>タグなどで表示がいいんでは?
ということで。
まだ検証中ですけどね。
ご意見などあったらどんどんコメント残してちょ。
MovableType
| comment(0)
| trackback(0)
| ▲
2007年12月 5日 20:20
カテゴリー内に入っていても、全体のエントリーを表示させたいときには次の方法をとる。
<MTTopLevelCategories>タグを用いて、いったん、全カテゴリを表示できるようにして、その中で制御をかける。
つまり
<MTTopLevelCategories>
<MTEntries>
--------------処理
</MTEntries>
</MTTopLevelCategories>
このようにやると、とりあえずカテゴリー下に入ったときでもその上位のエントリーの一覧などの表示ができる。
また、<MTEntries>タグなどで、lastn属性を用いて数を設定したら、
その中で仮に色々処理をやっても、<MTEntries>で与えたlastn属性の数の中でしか判断されない。
これは要注意!
MovableType
| comment(0)
| trackback(0)
| ▲
2007年12月 4日 22:18
MTのタグで追記です。
<MTSetVar>は1つのタグなので、問題ないのですが、<MTSetVarBlock>は閉じタグが必要になります。
その閉じタグを記入する際に、見た目のために改行してみたら、なんと動かないのです。
つまりは、
<MTSetVarBlock>(MTで使うタグ)</MTSetVarBlock>
と書けば問題なく動きますが、ここを見た目のために、
<MTSetVarBlock>
(MTで使うタグ)
</MTSetVarBlock>
と書いてしまうと、何の反応もしなくなるということ。これまたビックリでした。
MovableType
| comment(0)
| trackback(0)
| ▲
2007年12月 4日 21:16
お仕事のメモを。
あくまで今の自分のレベルでのお話になってるので、間違っていることがあったら、コメントでご指摘くださいな。
MTで使っているMTIfタグのことを少々胡椒。えっとMTIfタグの中の条件にはファンクションタグはそのまま使えないので、そのような状況に
陥ったときには、一旦ファンクションタグの情報を<MTSetVar>などで変数に格納。そのあとにその変数を用いて判断させる。
例えば・・----------------------------------------------------------------------------------------------------
<MTSetVarBlock name="hogehoge"><$MTタグで取得するデータ$></MTSetVarBlock>
※※これでhogehogeにデータが格納される。
このhogehogeを<MTIf>タグで使うときに注意が必要。
条件分岐の際の対象によって扱いが違う。
1.条件分岐をする対象つまり「●●が××なら・・・」という場合の「●●」のとき
<MTIf name="hogehoge" like="条件">
-------- そのときの実行操作
</MTIf>
2.条件そのもの、つまり「●●が××なら・・・」という場合の「××」のとき
<MTIf name="判断対象" like="$hogehoge">
--------そのときの実行操作
</MTIf>
つまり、name属性につかうときは、Setのときに使ったnameをそのままで。like属性に使うときはSetのときに使ったnameに$マークをつけて。
これはおそらく、そのままであれば、変数の参照でしかなくて、$をつけることで「その値」という判断になるものと考えられる。
これは出会うまでに時間がかかった。なので一応メモということ。
MovableType
| comment(0)
| trackback(0)
| ▲