XPressME Integration Kit

フォーラム

Re: 記事ランキングにサムネイル表示

#3221
toemon
キーマスター

拡張ブロックで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>

みたいな感じでも使えます。