静的ページにRSSを表示させる
出典: GeeklogJpWiki
[3]管理方法 > 管理者が導入後すぐ試せる簡単カスタマイズ > 静的ページPHPでページを作成する > RSSフィードを表示する
目次 |
[編集]
RSSフィードを表示する
RSSを使ってトップページのセンターブロックで新着情報を表示するPHPです。 静的ページPHPのページを作成する際に、「センターブロックに表示」をチェックすると、トップページに表示されます。
//読み込ませたいRSSファイルを指定してください。
$urlrss="http://○○○○○○/○○○";
//各項目の説明文の最大表示文字数(先頭から○○文字)
$limits=30;
$buff="";
$fp=fopen($urlrss,"r");
while(!feof($fp)){
$buff.=fgets($fp,4096);
}
fclose($fp);
$parser=xml_parser_create();
xml_parser_set_option($parser,XML_OPTION_SKIP_WHITE,1);
xml_parse_into_struct($parser,$buff,$values,$idx);
xml_parser_free($parser);
print("<ul>");
$flag_item=0;
foreach($values as $value){
$tag=$value["tag"];
$type=$value["type"];
$value=$value["value"];
$tag=strtolower($tag);
if($tag=="item" && $type=="open"){
$flag_item=1;
}elseif($tag=="item" && $type=="close"){
print("<li><a href='".$link."'>$title</a><br>$content</li>");
$flag_item=0;
}
if($flag_item){
switch($tag){
case "title":
$title=$value;
break;
case "link":
$link=$value;
break;
case "description":
$value=strip_tags($value);
if(mb_strlen($value)>$limits){
$content=mb_substr($value,0,$limits)."...";
}else{
$content=$value;
}
break;
}
}
}
print("</ul>");
[編集]
Geeklog1.5での注意点
Geeklog1.5系から静的ページPHPの出力方法に若干の変更があり、1.4系とは最後の出力処理が変わりました。 「PHPを実行する(return)」の場合と、「PHPを実行する」の場合で、それぞれ対応方法が違います。 これらの対応をしない場合、まっしろなページが出力されることがありますので、中身が何も無い真っ白なページが出力されたら、この対応を行ってください。
※日本語版のGeeklog1.5.1、Geeklog1.5.2では日本版独自カスタマイズとして1.4のままでも動くようにしてあります。
[編集]
「PHPを実行する」の場合
静的ページPHPのコードの末尾に
echo $retval;
を付加してください。
[編集]
「PHPを実行する(return)」の場合
静的ページPHPのコードの末尾に
return $retval;
を付加してください。




