« 水やり再開 | メイン | 不要なapacheログを排除(その2) »

Ramdom Entry Pickup

EUCでの人気記事ランキング


[PR] 「ほったらかしアフィリエイト実践会」わずか108円であなたに代わって優秀なライターが、毎日3本の最新アフィリエイト記事を書いてくれる!

Category : [ MovableType ]
May 1, 2005 15:23
TAG : [Blog,CGI,Entry,Javascript,MovableType,Template,UTF-8,文字コード]





2006/10/20 追記
当ブログはUTF-8に移行したため、Project MultiBurst:人気記事ランキングを設置(再び) へ移行しました。
-----------------------------

「人気記事ランキング」というのを前々からやってみたかったんですが、
やっと実現しました(^^;)

参考URL:
philosophical: 人気ページ一覧/リンク元一覧表示機能 Version0.3
MTで人気記事ランキングを。(CROSSBREED クロスブリード!)

CROSSBREEDさんのページのページのやり方をまず参考にしてやってみたんですが、
まず、「MTMostVisitedプラグイン」がどう探してもなくなっている(^^;)
まぁ、以前に落としてものを使ってやってみたんですが、うまくいかない。。。

私のブログでは、エントリーのファイルネームを「年/月/日/時間.php」としているなどなどあり、上記のプラグインがうまく動かなかったんです。

それで見つけたのが、philosophicalさんのページでのやり方。

うまく設置して、成功か?と思われたが、
実はこのスクリプトは「UTF-8」の文字コードでしか吐かない模様(ToT)

私のこのサイト、文字コードがEUCなんです。。。

いちをUTF-8意外の文字コードも対応しているようですが、
IFLAMEを使うのでレイアウトやスタイルでいろいろめんどくさかったです

いろいろ考えた結果、「UTF-8をEUC-JPに変換したらいいんじゃない?」
という安直な考えが浮かびました(^^;)


ということで、実際に設置した手順を説明します。

まず断っておきますが、
この方法はサーバーで「cron」が使える、と言うことが前提です(^^;)

まず、philosophicalさんのページで、
「philosophical: 人気ページ一覧/リンク元一覧表示機能 Version0.3」
ダウンロードします。

「人気ページ一覧/リンク元一覧」そのものの詳細な設置方法は、
解凍した中のREADMEを参照してください。

ダウンロードした中の「cgi」フォルダにある、拡張子が「.cgi」のモノの中の、
文字コード指定を変更します。
(必要なモノだけでいいと思いますが。。。)


# *** HTML を出力する JavaScript 文を返します ***
#######################################
## print "Content-type: text/javascript; charset=UTF-8\n\n";
print "Content-type: text/javascript; charset=EUC-JP\n\n";
$s = &get_statistics;
$s =~ s/'/\\'/g;
print "document.write('$s');";
exit(0);

次に、サーバーの「cron」に以下のように設定します。

cd /home/(パス)/popular-ranking

./update_statistics.cgi
cat /home/(パス)/popular-ranking/data/statistics
| /usr/bin/nkf -e > /home/(パス)/mt-cgi/statistics.php

↑要は、UTF-8で出力されたランキングリストをEUC-JPに変換しているだけです(^^;)


「ref.pl」は内容に従って変更してください。

そして、以下の文を統計が取りたいテンプレートの参照ページランキングを表示したい場所に貼り付けます。

<script type="text/javascript" src=
"http://{CGIを設置したサイト}/refer.js"></script>
<script type="text/javascript">
refer("{CGIを設置したサイト}/cgi-bin/refer_s.cgi");</script>

そして、ランキングを表示したい部分に、

<!-- 人気ページランキングモジュール ここから -->
<? include("/home/(パス)/statistics.php"); ?>
<!-- 人気ページランキングモジュール ここまで -->

と貼り付けます。

私のブログはPHP化しているので、
上記のようなサーバーサイドでのインクルードができますが、
PHP化していない場合は、

cd /home/(パス)/popular-ranking

./update_statistics.cgi
cat /home/(パス)/popular-ranking/data/statistics
| /usr/bin/nkf -e > /home/(パス)/mt-cgi/statistics.html

として、ページに読み込んでもいいかもしれません。

↓こんな感じにできあがり。
rannkingunozu.jpg




ソーシャルブックマーク

「del.icio.us」にブックマーク|このエントリーの「del.icio.us」での登録状況|はてなブックマーク|はてなブックマーク|テクノラティ・リンク検索結果|Technorati|BlogPeople Instant Bookmark|BlogPeople Tags|ドリコムRSS|ニフティクリップ|livedoorクリップ|livedoorクリップ|ECナビに登録|add-fc2.gif|FC2ブックマークでの登録状況

このエントリーと関連性が高いと思われるエントリー


このエントリーに関連するかもしれない商品


おすすめ商品


Link Information

Link HTML:

トラックバックURL:

Trackbacks

» 人気記事ランキングを設置(再び) from Project MultiBurst

以前、 「Project MultiBurst:EUCでの人気記事ランキング」 というのをやりましたが、このランキングだとある一定期間のランキングが表示で... [Read More]

コメント

こんにちわ^^

わたしも以前に一色さんのサイトを見つけて嬉しかった…と思いきや、Apatchログを使用とのことで愕然としてたんです(つω-`。)

でも、showBOOさんの記事読ませてもらって、さっそく設置してみました(>∀< )

無事完了です♪
わたしのところはUTF-8なのでコード変換は気にすることないのですが、参考になりました。

ありがとうございます。

>bzbell さん

いつもお世話になっております。
こちらこそ、参考になれば幸いです(^^;)

コメントする