[MT関連]Topに最新イラスト表示
「イラストサイトなら、最初のTopに最新イラスト表示」
というのはいつも思っていましたが、めんどくさがりなのでやりませんでした。
今回、MTcollectのプラグインを用いてトップに最新イラストの一部表示をさせることにしましたので、そのやりかたを書いておきます。
仕様
・最新のイラストを表示させる
・イラストをクリックすれば、そのイラストのアーカイブ記事に飛べる
・Topページのデザインを崩さないようにする
方法
MTCollectのプラグインを使用し、記事の「概要」にあるimgタグを抽出、それを表示させる。
理由
最初はMTentryBodyの中のImgを縮小表示させようかとか思っていました。
しかし、それだと大きすぎるし、imgタグにサイズを指定してサムネイルにしても、それだとなにを描いてる絵か良くわからなくなります。
だったら、最初からTop表示の画像を用意してしまえばよい、ということで、多少面倒ですがTop用のイメージ画像(イラストの一部など)を用意し、それを概要部分にImgタグとして入れておきます。

これで、MTCollectによって概要部分からImgのURLが抽出され、TopにImgタグが貼られます。
テンプレートの記述はこういう感じになります。
<!--トップイラスト一部表示-->
<div class="sidetitle">最新のイラスト</div>
<TABLE width="90%" align="center" border="0" cellpadding="0"><TBODY><TR>
<MTEntries lastn="1" offset="0" category="Illust">
<MTCollect tags="img">
<MTCollectThis show="0">
<$MTEntryExcerpt$>
</MTCollectThis>
<MTIfCollected tags="img">
<MTCollected tags="img" lastn="1">
<TD align="center" valign="middle">
<div class="thumb">
<a href="<$MTEntryPermalink$>">
<img src="<$MTCollectedAttr attr="src"$>" />
<br>
<$MTEntryDate format="%Y/%m/%d"$></a> : <font
size="-1" color="#cccccc"><$MTEntryTitle$></font>
</TD></MTCollected> </MTIfCollected></div> </MTCollect></MTEntries></TR></TBODY></TABLE>
<!--ココマデ-->
これはHeaven Stairsの場合です。
Tableを使っているのはデザインをすっきりさせるため。
"MTcollectthis"で概要を選択し、imgのURLを取得させています。
そのあとImgタグを使ってそのURLを指定、単純に表示させているだけです。
これはシンプルな例ですが、これを変更し、例えば
・BodyのバックグラウンドのURLをMTcollectで取得
・テーブルの背景イメージのURLをMTCollectで取得
こんな感じで使えば、
・Topページのスキンがイラスト更新のたびに変わる
といったことなどできそうです。
問題は概要部分に入れるImageを別途容易しなくてはいけないことと、概要部分を表示させる場合によけいなImageが挟まれてしまう、などでしょう。
トラックバックの時に概要部分を使うときなどは邪魔になるかもしれません。
最初はKeyword部分を使用しようかと思いましたが、Keyword部分にImageタグを入れてもダメでしたので、使えるのは概要部分だけでした。
Heaven Stairsの場合、概要部分はいつも空欄で使ってないので、こういう使い方をしようかと思います。


コメントする