ヽ(´ー`)ノヽ(´ー`)ノヽ(´ー`)ノ[ xreaの規約による,xreaの,xreaのための広告スペース ]ヽ(´ー`)ノヽ(´ー`)ノヽ(´ー`)ノ

人気記事ランキング for ppBlog v1.5

まず,ダウンロードしたzipファイルを展開すると,extフォルダが出来上がると思います。そのextフォルダごとindex.phpと同じ階層にアップロードしてください。パーミッションの設定は1箇所だけ。logフォルダを707,または777に変更してください。

utils.phpの200行目付近,

  exit(str_replace(array_keys($divisions), array_values($divisions), $html));

の"上の"行に

  include_once 'ext/ext.php';

と追加してください。

同じくutil.phpの437行目付近,

  if($comment_form) $alone = 1;

の下に

  if ($comment_form) {
    include_once 'ext/popular/writelog.php';
    $reforg = links($id);
  } else {
    $reforg = '';
  }

と追加。さらにその下の行を

  $body = _box($id,$cat,$title,$com,$author,$sup_same,$inf_same,array($cmt_count,$allowComment),array($tb_count,$allowPing),$cat_icon,$alone,$index,$mht,$ajax_list).$_com.NL;

から

  $body = _box($id,$cat,$title,$com,$author,$sup_same,$inf_same,array($cmt_count,$allowComment),array($tb_count,$allowPing),$cat_icon,$alone,$index,$mht,$ajax_list).$reforg.$_com.NL;

に変更。$_comの前に$reforgを追加しています。バージョンによって,_box()の最後に$ajax_listがない場合もあります(うちの場合がそうでした)。$ajax_listがない方はないままで結構です。なお,個別記事画面で参照元を表示する必要のない人は,$reforgと書いてある行の追加は不要です。

表示させたいテーマのtemplate.phpの任意の部分に

  <div id="rank">%_RANK:1:Popular Top10:1_%</div><!--#ranking追加。-->

と記述すれば,サイドバーに表示されると思います。最初はログが集まらないので,タイトル以外は表示されないかもしれませんけど…。"Popular Top10"の部分はお好きなタイトルに変更可能です。

すでに新しいボックス作成のためのサンプルセットなどでext.phpを設置している方は,既存のext.phpに

 include_once 'ext/popular/ranking.php';

  '%_RANK_%'    => $rank,

を追加してください。これで一応設置は完了です。次に表示体裁を整えるため,cssを調整します。

2 of 41234Next»

— posted by naoK at 21:30   [ ppBlog ] Comment [13]  TrackBack [0]

思えば一年前の今日,こんなこと書いてました。
  • と思ったけど,なんにも書いてないです…
  • [ 1年前スクリプト by naoK ]
同じカテゴリからランダムピックアップ

この記事に対するコメント・トラックバック [13件]

Up1. azu — 2006/08/03@02:36:49

こんばんは^^昨日naoKさんのとろこにコメントしようと思ったら、忘れてりえさんの方へ飛んじゃってました(汗)失礼しました。

しかしnaoKさんは神!今日の亀田選手よりも尊敬<(_ _)> まじめにPHPの勉強しなかったことを悔やみました;;

それでまたご相談です(笑)Recentlyあると思うんですが、これをメインの記事下に配置したいんです。で、それはできると思うんですけど。最新の記事以外にしたいんです。それって簡単ですか(汗)

それかこのプラグイン早速設置させて頂きます^^

Owner Comment naoK  2006/08/03@21:14:42

homepageあー。azuさん,エントリに直接関係ない質問は,できたらBBSにお願いしたいんですけどがー。

で,質問の意味がよく分かりません。すみませんがもう一度やりたいことを教えていただけますか?それからこれは簡単か簡単じゃないかを答えればいいんですか?
以上2点,どうぞよろしくお願いします。


3. azu — 2006/08/03@03:35:55

コメント追加^^;
最新のppBlogの記事投稿時の際の動きなんですけど、
どういう条件下なのかタイミングがわからないのですけど、
なんだか記事入力中に、カーソルをもってかれるというか、軽く固まること
ってありませんか?何かスクリプトが動いて入力の邪魔をするというか。
おかしな挙動なんですけど?もしも自分だけだったらスレイプニルのせい
なのかなぁ??今日の記事は長文で特に打ちにくかったので気になりました。
そんなことはありませんか?

Owner Comment naoK  2006/08/03@21:20:30

homepage私は普段Firefoxを使ってますが,とくに固まるようなことは経験したことがないように思います。
たとえば,入力中に他のタブが読み込み中だったとか,そんなことが原因で挙動がおかしくなることはあり得るかもしれませんね。


5. taku — 2006/08/04@13:31:47

これは設定した直後だとランキングに「?(設定方法はこちら)」が表示されるのがデフォルトなのでしょうか?
それともこれが表示されるというのは何かエラーなのでしょうか?

UpOwner Comment naoK  2006/08/04@17:36:28

homepagetakuさん,はじめまして…かな?
ご指摘の部分は,デフォルトで表示されるようになっています。ただ,リンク先の指定を新しい記事に修正するのを忘れてしまっていました(爆
今は修正したものに差し替えてありますので,お手数ですが再度ダウンロードの上,ranking.phpを上書きしてください。
また,その部分に関わるcssの指定も抜けていましたのでreadmeと本文も修正しました。ご指摘ありがとうございます。


7. taku — 2006/09/10@18:48:37

設置してから1ヶ月近く経ちますがいまだに「?(設定方法はこちら)」が表示されたままです・・・。
単に私のブログのアクセスが少ないという理由だけなら良いのですが・・・(笑)
ちなみにもちろんカウントするのは個別記事で開いたときだけですよね?もし、1からカウントするのであれば1回ぐらいは個別でリンクされているはずなのですが…(アクセス解析を設置していているので分かります)

一度ちゃんと最初からやり直すというか、調べなおしたほうが良いでしょうかね?

Owner Comment naoK  2006/09/10@20:16:25

homepagetakuさん,お久しぶりです。1ヶ月経ってもランキングの表示がないというのはおかしいですね…。
一度logフォルダ(popularフォルダ中の)の中に200609.logやtemp.html,tempref.htmlができているか確認してみて下さい。
また,個別記事にアクセスしたときになにかエラーメッセージが表示されるような場合は,popularフォルダ,logフォルダのパーミッションが707(777)になっているか確認して下さい。

あと可能性があるとすれば…個別記事にアクセスした際,コメントフォームが表示されているかどうか,ですかねぇ。

if ($comment_form) {
include_once 'ext/popular/writelog.php';
$reforg = links($id);
} else {
$reforg = '';
}

の部分を

if (g_('UID') != '') {
include_once 'ext/popular/writelog.php';
$reforg = links($id);
} else {
$reforg = '';
}

に変更するといいかもしれません。
どうぞよろしくお願いします。


9. taku — 2006/09/10@20:31:11

早々の返答ありがとうございます。
temp.html,tempref.htmlはありますが、logファイルは生成されていないようです。
また、エラーメッセージは表示されませんがパーミッションは755でした。コメントフォームは表示されます。

Owner Comment naoK  2006/09/10@21:18:25

homepageうーん,temp.htmlが作成されているということは,writelog.phpがうまく読み込まれていないのかもしれませんね。
temp.htmlが作成されているので,パーミッションは問題ないかもしれません。utils.phpの,writelog.phpを読み込む箇所の記述を再度見直して頂けませんでしょうか。
きちんと読み込まれていれば,誰かが個別記事にアクセスした瞬間にlogファイルが作成されるはずです。よろしくお願いします。


Up11. taku — 2006/09/10@21:28:28

どうやらutils.phpに記述するものに入れ忘れがあったようです。^^;
お手数をかけてすみませんでした。
logファイルも生成されました。

ただ、もうひとつ聞きたい事があるのですが、logファイルができるかどうか既にしてあった自分のアクセスをカウントを除外する設定を解除しました。そして、できるのを確認して2000から2030へ戻して$passの値の値のアドレスにアクセスしたのですが相変わらずカウントされてしまいました。やり方がおかしいのでしょうか?

Owner Comment naoK  2006/09/10@22:17:07

homepageとりあえずlogファイルが作成されるようになったようで,良かったです。

カウントの件は,もし設定が有効になっていれば,自分がアクセスしたlogの最後に

|o

というように, o が追加されます。 o がついている行については,記録はされるものの集計からは除外される仕組みになっています。
もし2030に変更しても,logに o がつかないようであれば,一度ご自分のBlogのcookieを削除し,もう一度設定してみるのも一つの方法かと思います。
よろしくお願いします。


13. taku — 2006/09/10@22:22:27

|o
がついていました。本当にありがとうございました^^

Owner Comment naoK  2006/09/10@22:34:38

homepageおぉ,それなら大丈夫なはずです。
ログが溜まってくると意外な記事が人気だったりして,結構自分でも楽しめたりしますよ。今後ともご贔屓にどうぞよろしくぅ(笑


この記事に対する TrackBack URL:

設定によりTB元のページに、こちらの記事への言及(この記事へのリンク)がなければ、TB受付不可となりますのであらかじめご了承下さい。

コメントをどうぞ。 名前(ペンネーム)と画像認証のひらがな4文字は必須で、ウェブサイトURLはオプションです。

ウェブサイト (U):

タグは使えません。http://・・・ は自動的にリンク表示となります

ニコッ ムカッ えーん あちゃぁ ベーッ ラブリー ムンク 汗 ネムー 風邪 グスン はぁと zzz うっ いかり ダッシュ グッ ドクロ ケーキ

     

[X] [Top ↑]