
20July
2004 : TuesdayID-252
携帯 カスタマイズ vol.33
moblogのサムネイルを数個ランダムで表示させる
概要表示のmoblogのアーカイブから画像を抽出させてみる
moblog関連の表示のさせ方を見直す事にしました。何故かというとサイドのmoblog表示をMTRandomEntriesというPluginを使ってランダムで一件表示させてた訳ですが、何だかこうさぎと見た目が一緒だし、何件か表示させてた方が面白いと思ってちょっといぢったんです...楽勝かと思って......。
サイドのmoblogのところのテンプレートの表示件数を増やしてCSSで回り込みさせてみたんですが、Safariではバッチリだったのですが、他のブラウザだとどうも上手く行きません。それは表示件数を9件とかにすると顕著に表れて何か変なスペースが入って、段々になってしまいます。
「なんぢゃね、これ?」って感じで、ソースを見たところpタグがどうも原因っぽい。moblogの投稿の際に付いちゃうのかなぁとか思いましたが、他の記事にも付いてます。
!
あぁ、Convert Line Breaksという自動改行を指定してるからなんですね。
本文をCSSで消してるだけだから、それが駄目みたいです。
このpタグがかなりやっかいでなかなか上手い事行きません。自動改行使わないなら出来るんですけれど、moblogの時に携帯で<br>打つの凄く面倒だし...何とかこのまま出来ないものか試行錯誤しましたが、力尽きてしばらく放置してました(苦笑)。
んで、色々検索したりしてたらCollect Pluginというのを使えば特定のタグだけ抽出出来るみたい。何か昔に使おうとして理解出来なかったような記憶もありますが、これしか方法はないだろうと思い試してみる事にしました。
とりあえず、説明読んでも全く分かりません、大体英語も分かりませんし(笑)。
解説されてるサイトがございました。
bird.dip.jp Collect Plugin
テンプレート見てもいまいちCollectタグの効果が分かりません。まぁ、いぢってれば分かって来るだろうと思いやってみました。
おぉ!見事にカテゴリー”moblog"の画像だけを取り出すのに成功。MTRandomEntriesも使ってるのでランダム表示も大丈夫。やっと理想の形になったような気がします、ニヤニヤ。
テンプレートはこんな感じになりました。
自分もいまいち各タグについては理解出来てませんが、このテンプレートだと、<div class="photo">
<MTRandomEntries category="Moblog" lastn="3">
<MTCollect tags="img">
<MTCollectThis show="0">
<$MTEntryBody$>
</MTCollectThis>
<MTIfCollected tags="img">
<MTCollected tags="img" lastn="1">
<a href="<$MTEntryLink$>">
<img src="<$MTCollectedAttr attr="src"$>" border="0"
alt="<$MTCollectedAttr attr="alt"$>" />
</a>
</MTCollected>
</MTIfCollected>
</MTCollect>
</MTRandomEntries>
</div>
<MTRandomEntries category="Moblog" lastn="3">といった感じになってるんだと思います(多分)。
で、カテゴリー"moblog"の3件をランダムで表示、<MTCollect tags="img">
で、Collectはimgタグが付いてる物を抽出、<MTCollectThis show="0">
で、エントリーの内容は表示しない、<MTIfCollected tags="img">
で、<MTCollect></MTCollect>の中にimgタグがあれば、<MTCollected tags="img" lastn="1">
で、imgタグが付いてるのを抽出するのは最新の一件、<img src="<$MTCollectedAttr attr="src"$>" border="0" alt="<$MTCollectedAttr attr="alt"$>" />
で、imgファイルのパスを指定しつつ、画像の枠はなし、altで名前を付ける、
lastnの意味が少し間違え易いかも知れませんね。
後は、CSSで調整して完了でした。これだと、前々からやりたかったCategory Archiveでmoblogの時だけ画像を表示させる事も出来るんじゃないの?とふと思いました。というか前も思っててやり方分からず断念してました(苦笑)。
<MTCollectThis show="0">を使えば、エントリーを表示させずに画像だけ抽出出来るのが分かったので、何とか出来そうな感じがしました。Categoryのテンプレートを見て色々試行錯誤した結果見事?成功した模様です。何だかかなり強引っぽいですが...(汗)。
<MTEntries>
.
.
.
<MTCollect tags="img">
<MTCollectThis show="0">
<$MTEntryBody$>
</MTCollectThis>
<MTIfCollected tags="img">
<MTCollected tags="img" lastn="1">
<MTEntries category="Moblog">
<div class="catmob-thumb">
<img src="<$MTCollectedAttr attr="src"$>" />
</div>
</MTEntries>
</MTCollected>
</MTIfCollected>
</MTCollect>
<$MTEntryExcerpt convert_breaks="1"$>
.
.
.
</MTEntries>
うちの場合はArchiveを概要で表示させてるので<$MTEntryExcerpt convert_breaks="1"$>をCollectで挟んでもimgタグを抽出させる事が出来ませんでした。そこで概要の上に<$MTEntryBody$>を入れてそれを挟んでみたら上手く行きました。
でもそのままだと当然、他のカテゴリーのimgタグのあるエントリーの画像も表示してしまうので、かなり不格好になります(サイズがまちまちな為)。
特定カテゴリーだけ抜き出すCollectタグがあるのか分からないので小一時間ほど考えた結果、<MTEntries>をCollectタグの中にもう一つ入れてカテゴリーを指定してみました。良いんだろうか?(笑)
入れる場所が結構重要で場所によっては最新の一件になったり、全てのmoblogのimgを取り出したりしてしまいます。imgタグの前後で挟むと上手く行くようです。
これで他のカテゴリーは<$MTEntryExcerpt convert_breaks="1"$>だけ表示されます。
あとは、CSSで調整します。
こんな感じになります。
何かゴーリゴーリの力業ですけど、やっと念願叶いました。
概要の文字数って制限出来ないのかしら?設定のはトラックバックののみっぽいし...むぅ...。
というか、またリニューアルそっちのけで脱線しまくってますわ(泣笑)。
Comments
Post a Comment
- 台風18号 被害
- so-su ⇒ 2004.09.08
- 酢鶏 ⇒ 2004.09.12
- モンクレール ダウン ⇒ 2013.01.16
- オンプロキャラ
- HertQWsjty ⇒ 2012.06.12
- 大台
- avi09 ⇒ 2009.08.28
- カスタマイズ vol.36
- 酢鶏@mixi進出 ⇒ 2004.12.18
- balabo3_gp ⇒ 2009.06.19
- balabo3_dt ⇒ 2009.06.20
- 骸2
- so-su ⇒ 2004.01.12
- so-su ⇒ 2004.01.12
- 帰省(BlogPet)
- ソラ ⇒ 2005.08.24
- 埼玉スタジアム
- ときた ⇒ 2005.03.21
- sosu ⇒ 2005.03.21
- カスタマイズ vol.23
- あるまじろの巣
┗ コメントの頭出し
⇒ 2008.04.09 - 08:03 PM - カスタマイズ vol.36
- cocoons.org*
┗ MT3.xのMTIfNonZeroをMT2.6xでも
⇒ 2005.01.02 - 09:19 PM - PSP本体のレビュー
- kjfive_blog
┗ PSPは売れるのか?
⇒ 2004.12.09 - 04:04 PM - こうさぎ背景
- PukiWiki/TrackBack 0.1
┗ 背景画像
⇒ 2004.12.07 - 04:44 AM - こうさぎ背景
- Webkunの日記
┗ サイト紹介 こうさぎウィキ 背景配布先リンク集
⇒ 2004.09.16 - 11:53 AM - カスタマイズ vol.17
- 我楽
┗ コメント投稿欄のメールアドレスを非表示に。
⇒ 2004.09.14 - 02:42 PM - こうさぎ背景
- ともぢの日々是日常
┗ 今日はビアガーデン♪&「こうさぎ」について
⇒ 2004.08.21 - 02:01 PM











