カテゴリ:QHM

QHMのプラグインを使ってみました(人気ランキング)

こんにちは、 篠原です。


今日は、QHMのプラグインを使ってみました。

QHMProにプラグインのプラグインをつかってみる

 QHMのマニュアルを見ていたら、アクセス順位が出せるPuluginが有ることが分かりました。面白そうなので使ってみることにしました。

 プラグインの名前は
 
 #popular
 
 です

 例えば、

#popular(9999,Frontpage,today)

  パラメータの意味
   9999:表示するページ数を指定します、10とすれば、ベストテンのページが表示されます
   Frontpage:ランクを作る際に除外するページ名を指定します
   today:今日アクセスのあったページと対象にします。何も入力しなければ、アクセス累計になります。

 
と書くと、Frontpageというページを除いた、今日のアクセス数の多いページ順に9999(つまり私の場合は全てのページということになります)ページ分表示してくれます。

  • 図1-1 #popularの入力コードです。これだけ終わりです。
    QHMプラグインを使ってみる:コードを入力

  • 図2-1 #popularの表示結果です。(上の一行のコードだけで、これだけのことをしてくれます。便利ですねぇ)
    QHMプラグインを使ってみる:popular

 全件表示して分かったことですが、意外とブログページへのアクセスが沢山あったことです。これが分かるまでの訪問件数として見ることが出来ていたのは、ブログメニューに設置したアクセスカウンターの件数でした。一日約30件位でした。

 他のページへのアクセスが一覧で分かるようになるといいなと思っていたところ、延べという表現にしますが、このpopularプラグインを使うと、アクセスのあったページの一覧を見ることが出来、一日約300件から500件位のページ閲覧があることがわかりました。
 これだけ成果が見えれば、少しはお役に立ててるのかなぁと思えてきます。うれしい限りです。

昨日のアクセス数も知りたい

 #popular プラグインはトータルのアクセス数か今日のアクセス数しかわかりません。
 
 「昨日アクセス数はどうなっているのかなぁ」という疑問から、昨日の件数が分かるプラグインを探して見たところ、

#counterlist2(today,desc)

  パラメータの意味
   today:今日の件数で並び替える、
   desc:並べ替えの方法は、降順(昇順は、asc)
 詳しくは以下のサイトをご覧ください。

http://www.revulo.com/PukiWiki/Plugin/CounterList.html

 
というプラグインを見つけました。(QHMにはない機能です)

機能は、#popularに似ていますが、一覧を表形式にして、ページ名、総件数、今日の件数、昨日の件数を表示してくれます。この他に、タイトル部分をクリックすると、その列をキーにソートしてくれる機能もあるようなのですが、なぜか動作しませんでした。

図3-1 このプラグインでは、ページ名がそのまま表示されていましたの、どんな内容か分からないというところが難点でした。

QHMプラグインを使ってみる:counterlistプラグイン


ということで、この部分を改造することにしました。

コードを見て、これはというところを変更して、試行錯誤しながら変更を加えていきました。結果としてうまく表示できるようになりました。
図4-1 変更後の表示です。
QHMプラグインを使ってみる:counterlistの表示結果

 変更を加えた部分は、ページ名をタイトル名に変更し、表の左端に連続番号を表示するようにしました。
変更したコードを載せておきます。

	function plugin_counterlist2_init()
	{
	    $messages['_counterlist2_messages'] = array(
	        'title'     => 'アクセスカウンタの一覧',
	        'seq'       => 'seq', ←――――― ここを追加
	        'page'      => 'ページ名',
	        'total'     => 'トータル',
	        'today'     => '今日',
	        'yesterday' => '昨日'
	    );
	    set_plugin_messages($messages);
	}

	function plugin_counterlist2_convert()
	{
 
	    global $line_num; ←―― ここを追加 seqの表示用
		$line_num = 0; ←――― ここを追加
	    $args = func_get_args();
 
	    list($key, $order) = plugin_counterlist2_get_key_order($args);
 
	    $counters = plugin_counterlist2_get_counters();

       $counters[] = array(
           'seq'       => $seq, ←―― ここを追加 seqの表示用
           'page'      => $page,
           'total'     => $total,
           'today'     => $today,
           'yesterday' => $yesterday,
       );

   foreach ($counters as $counter) {
       $page = $counter['page'];
       $url  = get_script_uri() . '?' . rawurlencode($page);
       $line_num = $line_num + 1; ←― ここを追加 seqの表示用 seq表示用
       $s_page  = get_page_title($page);  ←―― ここを追加 ページタイトル表示用
       $html .= '<tr>' . "\n"
             .  '  <td class="style_td" style="text-align:right;">' . $line_num             . '</td>' . "\n" ←seq表示用
             .  '  <td class="style_td"><a href="' . $url . '">' . htmlspecialchars(##$s_page##) . '</a></td>' . "\n"←タイトル表示
             .  '  <td class="style_td" style="text-align:right;">' . $counter['total']     . '</td>' . "\n"
             .  '  <td class="style_td" style="text-align:right;">' . $counter['today']     . '</td>' . "\n"
             .  '  <td class="style_td" style="text-align:right;">' . $counter['yesterday'] . '</td>' . "\n"
             .  '</tr>' . "\n";
   }

この他に、ja.lng.phpの変更も必要です。

興味のある方はお試しください。

今回ソート機能は機能しませんでしたが、PHPをもう少し勉強して、なぜ出来ないかを見つけられるようになりたいと思います。

 以上で、QHMのプラグインを使ってみましたは終わりです。




「パソコン無料相談」?も見てね。

ブログのお題拝借?

コメント


認証コード5584

コメントは管理者の承認後に表示されます。