Home日記このサイトについてMovableType > 画像がない場合(エントリー画像をランダムに表示)

« Puppy Mudge | Main | ヘッドフォンが欲しい・・。 »

画像がない場合(エントリー画像をランダムに表示)

2006年2月16日

ブログカスタマイズのときに加えた「エントリー画像をランダムに表示」ですが、表示される画像の数が時々足りません。その原因と解決策がわかりました。
今回カスタマイズ詳細をエントリーしてる時にもしやっと思ったので試したら合ってたようです。
ずーっと気になってたのでわかってすっきりしました。
いやー間空けて復習(?)するのもいいかも(爆)
そしてこのおかげで本来このプラグインを使って試そうと思ってたカスタマイズができそうです。それはいつかそのうちに。

以下赤字が解決策の部分です。追加してください。。
それ以外はじゅんじゅんさんのエントリーから借りてきました。そのままコピーして使ってたので。

<MTRandomEntries category="カテゴリー名" lastn="表示したい画像数">
※複数カテゴリーの場合は「OR」で区切っていきます。
<MTCollect tags="img">
<MTCollectThis show="0">
<$MTEntryBody$>
</MTCollectThis>
<MTIfCollected tags="img">
<MTCollected tags="img" lastn="1">
※エントリの中の1番最初の画像だけをとり出す場合 lastn="1"をつけます。
<a href="<$MTEntryLink$>" title="<$MTEntryDate format="%x"$>/<$MTEntryTitle$>のエントリを見る">
※タイトルの部分は「"日付/エントリ名"」
<img width="55" src="<$MTCollectedAttr attr="src"$>" style="margin:2px; border:none" />
※画像サイズがバラバラの場合、縦横どちらかを設置したい場所にあわせて設定。
</a>
</MTCollected>

<MTElse>
<a href="<$MTEntryLink$>" title="<$MTEntryDate format="%x"$>/<$MTEntryTitle$>のエントリを見る">
<img width="46" src="代わりに表示したい画像のURL" />
</a>

</MTElse>
</MTIfCollected>
</MTCollect>
</MTRandomEntries>


表示されない原因と解説(?)
 1.『<MTRandomEntries category="カテゴリー名" lastn="表示したい画像数">』
   により『表示したい画像数』で指定した数だけエントリーが選択されます。
 2.『<MTIfCollected tags="img">』で選択したエントリー内のimgを取得します。
 3.『<MTCollected tags="img" lastn="エントリー内で表示したい画像数">』の
   タグで1つのエントリー内にある画像数の制御を行っています。

そんな訳で、画像がないエントリーが選択された場合は当然表示されません。
画像数が時々足りないのはそのせいです。

という訳でまあそれでもかまわないのであればほっときましょう(笑)
気になる場合は<MTElse>タグを使ってなにかしら代わりになるものを表示しましょう。(赤字部分参照)

追加した部分の解説
「<MTIfCollected tags="img">」は『もしimgタグがあったらこの中の表示をしてね。』という意味になるのです。
そのため「終了タグ(</MTIfCollected>)」の前に『imgタグがなかったらこっち側の表示でよろしく』という意味で「<MTElse>」を使って代わりのものを表示します。

私は画像を準備してみました。
準備した画像をクリックするとそのエントリーへ飛びます。
「no img」とかって文字にしておくのもよいかも。
でもしかしたら上のタグの順番をうまく代えればimgタグのあるエントリーだけ選択できるようになるかも。でも予定外に遅くなったので試すのは今度にします。

どんな感じかしりたければカテゴリーを見てみてください。
今のところ 一番画像が出てくる確率100%なのはオーディオです。
なぜなら2006年2月16日現在3つ画像表示するはずなのに、カテゴリー内に画像が使われてるエントリーが二つしかないから(笑)

えーこんな説明でわかるでしょうか?なんだよその説明とか言わないように。
だってif文ってそういう使い方なんだもんさ。私はそう覚えてる(笑)まあ言語により書き方や場所違うけど。

投稿者 おーたむ : 00:39 | MovableType | コメント [7] | トラックバック [1] | ▲top

エントリー


トラックバックURL


トラックバック

このリストは、次のエントリーを参照しています: 画像がない場合(エントリー画像をランダムに表示):

» ランダム表示(画像がない場合の対策) from つれづれ日記
このブログの右カラム上部に他ブログの画像をランダム表示について、画像の無いエント... [続きを読む]

トラックバック時刻: 2006年3月 1日 10:34

コメントありがとうございます

おお、こんな方法があったんですねー。
さっそく試してみようと思います!
(ちなみに、ちょうど同じ日にこの件の質問コメントをいただき、こちらに誘導しちゃいました)

ところで、カテゴリーアーカイブにランダム表示ですが、アーカイブ関係はやろうと思って止めました。
理由は「そうそう再構築しないから」です。画像が変わらないと意味がないかな・・と思って。
これって何か対応していますか?もし対応済みならわたしもやってみたいと思います!
このコメントを投稿したら、カテゴリアーカイブがランダムされるか楽しみ!

コメント長くなってしまいますが、15、16日といろいろご紹介ありがとうございました。
わたしの名前がいっぱいあって面白かったです(笑)。

投稿者 じゅんじゅん : 2006年2月16日 02:10

たびたびスミマセン・・。
>理由は「そうそう再構築しないから」です。
これ、自己解決しました。
アーカイブに置いてもインデックスの再構築でランダムかけられそうです。

そして、こちらのエントリのおかげで、自ブログの画像付きエントリなのに
画像表示されなかった問題(爆)の解決もできました。(こっそり悩んでいた・・)
重ね重ね、とっても参考になりました!ありがとー!!!

投稿者 じゅんじゅん : 2006年2月16日 18:18

じゅんじゅんさんこちらこそありがとうー。

>>理由は「そうそう再構築しないから」です。
>これ、自己解決しました。
>アーカイブに置いてもインデックスの再構築でランダムかけられそうです。
えーとこれってじゅんじゅんさんがトップページ作ったときのping飛ばして再構築のこといってるのでしょうか?
それともモジュールにするからとかそういう系統の話でしょうか?
この辺のを使えば対策は取れるだろうと思いつつ、特になにもやってません。
暇が出来たら色々やってみる予定。

私はといえば今のところ特に対策とってません。どうせカテゴリーなんて常連さんはそんなに見ないでしょう。
ならまあいいかと(笑)
あえて言えば自分の意識への対策(?)
エントリーすれば属するカテゴリーアーカイブは再構築されるからねー。
万遍なく投稿しましょうってとこでしょうか(爆)

なんだか色々解決できたようでよかったよかった。
じゅんじゅんさんの所にコメントした方も無事解決してるといいなー。

あっ今後もじゅんじゅんさんの名前が出てくるかと思います。よろしくおねがいしまーす。

投稿者 おーたむ : 2006年2月17日 01:27

こんにちはー!
トラックワードつけたんですね!何が出てくるか楽しみー(笑)。

>えーとこれってじゅんじゅんさんがトップページ作ったときのping飛ばして再構築のこといってるのでしょうか?
>それともモジュールにするからとかそういう系統の話でしょうか?
モジュールにするからとかそういう系統の話の方です!(笑)
そして「万遍なく投稿しましょうってとこでしょうか(爆)」には自分を振り返り心が痛くなりました(爆)。

今後もいろんなカスタマイズがありそうなので楽しみにしていまーす!

投稿者 じゅんじゅん : 2006年2月17日 11:32

はーいつけました。色々出てくるので楽しいわ~。

>そして「万遍なく投稿しましょうってとこでしょうか(爆)」には自分を振り返り心が痛くなりました(爆)。
あっやっぱり?(笑)私も反省いたしました(爆)

投稿者 おーたむ : 2006年2月21日 01:45

おーたむさん、こんにちはー!

画像がない場合の対策、やーっと試させていただきました。
(テンプレ騒動ですっかり乗り遅れてました:爆)
こうなると早く画像の無いエントリーが選ばれないかと楽しみです。

ホント、いつもお世話になります。
これからもよろしくお願いしまーす♪

投稿者 ぷぅ : 2006年3月 1日 10:39

テンプレ騒動お疲れ様でした。
そして無事使ってもらえてうれしい限りです。
こちらこそよろしくおねがいしまーす。

人がいろいろがんばってると、ついついカスタマイズする気になってしまいますね~(笑)
ああ時間がなくてもだえてるおーたむでした。

投稿者 おーたむ : 2006年3月 2日 01:37

よろしければコメントください。