Phpblock stats()
提供: GeeklogJpWiki
[3]管理方法 > 管理者が導入後すぐ試せる簡単カスタマイズ > PHPブロックでブロックをカスタマイズする > アクセスカウンタPHPブロック
- 開発者 yoh-yoh
- ダウンロード:日本語版標準パッケージ(20061121版)に組み込み済み
目次 |
アクセスカウンタPHPブロック phpblock_stats()
ブロックにアクセスカウンタを表示します。
利用方法
- 管理者ログインしてブロック管理画面を表示します。
- ブロックを新規作成します。
- ブロックのモードを「PHPブロック」にします。
- 「関数」のフォームに、phpblock_statsを指定します。
インストール方法
この機能は日本語版標準パッケージ(20061121版)で組み込み済みですが、それ以前のバージョンの場合には、以下のように/system/custom/phpblock_stats.phpを/system/lib-custom.phpに組み込みます。
/system/lib-custom.php
以下の行を追加してプログラムを組み込みます。
// アクセスカウンタ表示PHPブロック関数を組み込む require_once( 'custom/phpblock_stats.php' );
/system/custom/phpblock_stats.php
<?php
function phpblock_stats() {
// グローバル変数
global $_CONF, $_TABLES, $LANG10;
// インクルード
require_once($_CONF['path_system'] . 'lib-admin.php');
// 生成するHTML
$disp .= '<div style="text-align:center">';
$disp .= COM_NumberFormat(DB_getItem($_TABLES['vars'], 'value', "name = 'totalhits'"));
$disp .= '</div>';
// HTMLを戻す
return $disp;
}
?>
トップページがアクセスされたときだけカウントしたい
Geeklog-1.4.1の場合,lib-common.phpを改造する必要があります。1,245行目くらいに
DB_change( $_TABLES['vars'], 'value', 'value + 1', 'name', 'totalhits', '', true );
という行があるので,これを
if ( COM_onFrontpage() ) {
DB_change( $_TABLES['vars'], 'value', 'value + 1', 'name', 'totalhits', '', true );
}
に変更します。Geeklog-1.4.0の場合は,代わりに
if ( !COM_isFrontpage() ) {
DB_change( $_TABLES['vars'], 'value', 'value + 1', 'name', 'totalhits', '', true );
}
とします。