Sponsored Link

naoKの「ホイきたー!」

[コメント:2] [前に戻る]  [トップへ] [コメントする]

ID: PWD:

占いランキング for ppBlog

[カテゴリ: ppBlog] エントリー: 2004-07-10

先日,占いランキングをmagpierssを利用して表示させる方法をご紹介しました。

ただ,この方法ですと私の利用しているppBlogでは上手く表示できないので,後日またppBlog用の設置方法をエントリすると約束しましたので,遅くなりましたが説明させていただきます。

まず,用意するものは前回と同じです。なお,設置場所やパーミッションも前回のエントリを参考にしてください。 MagpieRSS for PHP 星座の画像(私はこちらから頂いたものをリサイズしてます。drk7さんオリジナル使用素材はこちら。) なお,星座のファイル名は下に書くコードと同じファイル名を付けてください。"こんなファイル名じゃ気に入らん!!"というひとは適宜変更してください。

修正するファイルはindex.php,utils.php,(表示させたいテーマの)template.html,cssファイルです。 今回はbasicのテーマにて,archivesとothersの間に表示させてみることにします。 注)例によって修正があります。お気をつけ下さい。

index.phpのどこでも構わないのですが,折角なので少しでも分かりやすく if(ARCHIVES){ // アーカイブ というブロックと if(OTHERS){ というブロックの間に次のスクリプトをコピペしてみます。今日現在での最新版,v1.3.2では219行目辺りでしょうか。 7/17追記:またポカミスをやらかしました。赤字の\マークが抜けていました。すみません。それから,報告してくださった櫻さん,ありがとうございました。 //fortune require_once 'rss_fetch.inc'; $url = 'http://fortune.livedoor.com/xml/rank_astro12.rdf'; $rss = fetch_rss($url); $search = array('牡羊座','牡牛座','双子座','蟹座', '獅子座','乙女座','天秤座','蠍座', '射手座','山羊座','水瓶座','魚座'); $replace = array('aries.jpg','taur.jpg','gemini.jpg','cancer.jpg', 'leo.jpg','vir.jpg','lib.jpg','sco.jpg', 'sagit.jpg','capri.jpg','aqua.jpg','pis.jpg'); $thanx = '<div style="padding:10px 10px 0 0;text-align:right;">Copyright <a href="http://www.livedoor.com/rss/" target="_blank" title="この占いの著作権は全てlivedoorに帰属します">Livedoor(RSS)</a><br />and Thx(original) <a href="http://www.drk7.jp/MT/archives/000447.html" target="_blank" title="rss占いpluginの原作者,drkさん">Drk7jp</a></div>'; $fortune = ' <div class="box-cap" title="本日のラッキーさん">Today\'s Best3</div> <div class="box-body"> '; $i=1; foreach ($rss->items as $item ) { $title = mb_convert_encoding(substr($item[title/],10),"EUC-JP","auto"); $link = $item[link/]; $description = mb_convert_encoding($item[description/],"EUC-JP","auto"); $titleimg= str_replace($search,$replace,$title); $fortune .= ' 第'.$i.'位: <a href="'.$link.'" target="_blank"><img src="Images/'.$titleimg.'" title="'.$title.' : '.$description.'" style="vertical-align:top;" /></a><br />'; $i++; } $fortune .= $thanx.'</div><div class="box-foot"></div>';

そして,同じくindex.phpの最初のほう,19行目あたりに $DIVISION = array( で始まるブロックがありますが,この中の 'archives'=>'', の後に'fortune'=>'',を足して次のようにします。 …(省略),'archives'=>'','fortune'=>'', 最後のカンマまで忘れずに入れてくださいね。

今度は下のほう,270行目当たり, $DIVISION['archives'/] = $archives; と $DIVISION['others'/] = $others; の間に $DIVISION['fortune'/] = $fortune; を追加します。 index.phpの修正は以上です。

次にutils.phpですが(以下,"%"を半角に直してください),61行目辺りから $divisions = array( で始まるブロックがあると思いますが,この '%_ARCHIVES_%'=>$DIVISION['archives'/], と '%_OTHERS_%'=>$DIVISION['others'/], の間に '%_FORTUNE_%'=>$DIVISION['fortune'/], を追加します(すみませんfortuneの"r"が抜けていました)。utils.phpはこれだけです。

さて,template.htmlは <div id="archives">%_ARCHIVES_%</div> <div id="others">%_OHERS_%</div> を次のように。 <div id="archives">%_ARCHIVES_%</div> <div id="fortune">%_FORTUNE_%</div> <div id="others">%_OHERS_%</div>

最後に,template.htmlの中でid=fortuneを追加していますので,これをcssファイルに定義します。 basic.cssの187行目あたり, #recently, #comments, #trackbacks { に#fortuneを追加しましょう。 #recently, #comments, #trackbacks, #fortune { ↑こんな感じ。他のテーマにも表示させたい人は各テーマのtemplate.htmlとcssファイルを同じように修正してください。また,表彰台のように上の段に1位,下の段左右に2位,3位と表示させたい方はさらにこちらのエントリも参考にされてください。ただし,画像を小さくするか"第○位"の表示をどうにかしないとppBlogでは表示が難しいかもしれません。

以上で表示できるはずなんですが。もしトラぶってしまった人は当ホームページのへっぽこBBSへSOSを投げてください。気付き次第対策を考えさせていただきます。

posted by naoK

[コメント:2] [前に戻る]  [トップへ] [コメントする]


ID: PWD: