Re: 記事ランキングにサムネイル表示
永らくありがとうございました › フォーラム › 使い方全般 › 記事ランキングにサムネイル表示 › Re: 記事ランキングにサムネイル表示
2011 年 1 月 31 日 3:07 AM
#3221
キーマスター
拡張ブロックでxoops側に引っ張ってくる際の
ルールというか、まだ意味がわかっていません。
拡張ブロックは、プラグイン側からでも、直書きでもとにかくechoしたものをそのまま表示するという仕組みになっています。
唯一、出力が何もない場合、PHP_Errorの表示が行われるというルール(バグ?)があります。
if(function_exists(‘kougabu_get_image’)){
は指定した関数が定義されている場合にTRUEを返す。
という説明を読みました。
この場合では、kougabuプラグインが設定されていれば・・・
という感じなのかなと。
そのとおりで、利用したい関数が、利用できる状態になっているか確認するためで、例えば、プラグインがインストールされていなかったり、有効になっていなかったりする場合に、PHPに、そんな関数なんて存在しないよ!!って拗ねられたりしないための、おまじないみたいなものです。
で、本題ですが
kougabu_get_images();自体がデフォルトでechoする関数なので
普通に拡張ブロック側で
<code><?php<br /> if (function_exists('kougabu_get_images')){<br /> kougabu_get_images("start=1&count=1&before=&after=");<br /> }<br /> ?></code>
とかやれば、1件の画像をランダム表示してくれるはずです。
タイトルとかも表示したいのなら。パラメータにarray=trueを付加してechoではなく配列で出力させ
<code><?php<br /> if (function_exists('kougabu_get_images')){<br /> $image_arrys=kougabu_get_images("start=1&count=1&before=&after=&array=true&array_ext=true");<br /> foreach($image_arrys as $post_id=>$images ){<br /> $post_data = get_post($post_id);<br /> $title = $post_data->post_title;<br /> $permalink = get_permalink($post_id);<br /> $post_title = '<a href="' . $permalink . '">' . $title . '</a>';<br /> <br /> echo $post_title;<br /> echo '<br />';<br /> foreach($images as $image ){<br /> echo $image['link'];<br /> }<br /> echo '<br />';<br /> }<br /> }<br /> ?></code>
みたいな感じでも使えます。