Web Design Office スタジオビートル―滋賀県草津市のWeb制作会社

ホームページやECサイトなどWebサイト制作のお問い合わせはこちら077-566-3365

いろいろメモ帳Memos

プログラム関連Program

【EC-CUBE2.13.1】googleアナリティクスからアクセスランキングを作る

2014年01月10日
タグ:EC-CUBE2.13.1,googleアナリティクス
投稿者:Webディレクター 藤居
【EC-CUBE2.13.1】googleアナリティクスからアクセスランキングを作る
色んなECサイトを見ていると

ほとんどのECサイトで実装されている「売上ランキング」と「アクセスランキング」!

「売上ランキング」は、EC-CUBE公式に無料のプラグインが配布されていましたので

今回は、googleアナリティクスのデータからアクセスランキングの表示を作ってみました!!

やりたいのはこれっ!!



EC-CUBEレスポンシブ・ウェブデザインテンプレート販売サイト に実装してみましたっ!

まず、事前に用意するのは

1.googleアナリティクス

2.gapi.class.php  ダウンロードはこちらです。

公式ではないようなのですがPHPのgapi.classというクラスを利用すると簡単にgoogleアナリティクスのデータを取得できるようです。

参考にさせて頂いたのは「アクセスランキングの作成に!Googleアナリティクスからアクセスデータを取得する方法」ですっ!

有難うございます!m(_ _)m

ちなみに、googleアナリティクスのアカウントIDとビューIDは別物ですのでご注意ください。

ビューIDは、「アナリティクス設定」>「ビュー設定」で確認できますっ!



①「アクセスランキング」用のブロックを作成!

EC-CUBE管理画面にログインして、デザイン管理>PC>ブロック設定から追加!


とりあえず、

ブロック名:アクセスランキング
ファイル名:accessranking

にしてみました。

②各PHPファイルの新規作成

【1】 /html/frontparts/accessranking.php
【2】 /data/class/pages/frontparts/bloc/LC_Page_FrontParts_AccessRanking.php
【3】 /data/class_extends/page_extends/frontparts/bloc/LC_Page_FrontParts_AccessRanking_Ex.php

【1】accessranking.php
require_once realpath(dirname(__FILE__)) . '/../../require.php';
require_once CLASS_EX_REALDIR . 'page_extends/frontparts/bloc/LC_Page_FrontParts_Bloc_AccessRanking_Ex.php';

$objPage = new LC_Page_FrontParts_BLoc_AccessRanking_Ex();
$objPage->blocItems = $params['items'];
$objPage->init();
$objPage->process();


【2】LC_Page_FrontParts_AccessRanking.php

    /**
     * googleアナリティクスを読み込むでアクセスランキングを取得.
     *
     * @return array $arrBestProducts 検索結果配列
     */
    public function lfGetAccessRanking()
    {
        define('email','****@******'); //メールアドレスを記述(必須)
        define('password','********'); //パスワードを記述(必須)
        define('profileId','*******'); //ビューIDを記述(必須)
          
        date_default_timezone_set('Asia/Tokyo');
        $filter = 'pagePath=~/products/detail.php';
        $startDate = date('Y-m-d', strtotime("-30 day"));
        $endDate = date('Y-m-d', strtotime("now"));
        $offset = 1;
        $max = 8;
        $count = 1;
        
        $ga = new gapi(email,password);
        $ga->requestReportData(profileId,
                                array('pageTitle','pagePath'),
                                array('pageviews','visits'),
                                '-pageviews',
                                $filter,
                                $startDate,
                                $endDate,
                                $offset,
                                $max);
                                
    }
}

各パラメータは
$filter ・・・ データを取得したい階層及びファイル名を指定
$startDate ・・・ 開始日時の指定※この場合は、30日前
$endDate ・・・ 終了日時の指定※この場合は、「今」
$offset ・・・ 不明。(後ほど調査
$max ・・・ データ取得最大件数
$count ・・・ 不明。。。(後ほど調査

$gaにセットされたURLから商品IDだけを抜き出して

商品IDから必要な情報を取り出せば、アクセスランキングのデータが取得できますっ!

【3】LC_Page_FrontParts_AccessRanking_Ex.php
これは、LC_Page_FrontParts_Recommend_Ex.php等を参考にして変更!

④表示画面テンプレートを調整
accessranking.tpl を recommend.tpl等を参考にして調整っ!

⑤dtb_blocにphp_pathの追加
dtb_blocテーブルに、先ほど作ったアクセスランキングが追加されているので
php_pathに「frontparts/bloc/accessranking.php」追加!

以上で完成ですっ!
あなたのホームページを無料診断します!ホームページ診断
WEBデザイナー&プログラマー求人募集
正当なCSSです!
レスポンシブデザインテンプレート販売サイトEC|TEMPLATES
TOP