вопрос
Приветствую, накопал в гугле некоторую информацию о том как вывести данные из счётчика яндекс метрики на сайт, кое что получилось, но с единственным минусом
при подключении этого скрипта в шаблон сайт очень долго грузится, этот скрипт его замедляет,время загрузки страницы увеличилось до 1,8 сек, в то время как при отключении этого скрипта загрузка 0,6 сек.
Что я делал:
Есть два php файла
1) APImetrika.php
2) metrika_site.php - который и подключаю в main.tpl {include file="/metrika/metrika_site.php"}
при подключении этого скрипта в шаблон сайт очень долго грузится, этот скрипт его замедляет,время загрузки страницы увеличилось до 1,8 сек, в то время как при отключении этого скрипта загрузка 0,6 сек.
Что я делал:
Есть два php файла
1) APImetrika.php
<?php
class APImetrika{
private $token = "ТОКЕН";
private $url_api = "http://api-metrika.yandex.ru/";
private $counter_id = "id счётчика";
public function get_traffic($date1, $date2){
return $this->get_data(
$this->url_api.
"stat/traffic/summary.json?id=".
$this->counter_id.
"&pretty=1".
"&date1=".$date1.
"&date2=".$date2.
"&oauth_token=".
$this->token
);
}
private function get_data($url){
if($url){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$data = json_decode(
curl_exec($ch), true
);
curl_close($ch);
if(is_array($data)){
return $data;
}
}
return false;
}
}
?>
2) metrika_site.php - который и подключаю в main.tpl {include file="/metrika/metrika_site.php"}
<?php
require_once("APImetrika.php");
$obj = new APImetrika();
$today = $obj->get_traffic(
date("Ymd"),
date("Ymd")
);
$last = $obj->get_traffic(
date("Ymd", time() - 86400),
date("Ymd", time() - 86400)
);
#Склонения declination(7,array('просмотр','просмотра','просмотров'))
function declination($int, $arr) {
$type = array (2,0,1,1,1,2);
return $arr[($int%100>4 && $int%100<20)? 2 : $type[min($int%10, 5)]];
}
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="ANSI" />
<title>APImetrika</title>
</head>
<body><b>
Вчера:
<?php echo $last["totals"]["visits"],declination($last["totals"]["visits"],array(' посещение',' посещения',' посещений'));?>,
<?php echo $last["totals"]["page_views"],declination($last["totals"]["page_views"],array(' просмотр страниц.',' просмотра страниц.',' просмотров страниц.'));?></b><br>
По независимым данным <a href="https://metrika.yandex.ru/list/" target="_blank" >Яндекс.метрики </a>
</body>