Вывод количество просмотров страниц с учетом cookie (модернизация HitsPage)
        Всем привет, настроил компонент HitsPage, и обнаружил, что компонент считает не уникальные просмотры, а увеличивает счетчик при каждом обновлении страницы.
Есть ли возможность, как-то подкрутить компонент, изменить сниппет, плагин, идущие с ним, что бы счетчик работал корректно, учитывал именно уникальные визиты с cookie, засчитывал одно посещение страницы в сутки одним пользователем?
Заранее спасибо!
    
    
                                                                                
            Есть ли возможность, как-то подкрутить компонент, изменить сниппет, плагин, идущие с ним, что бы счетчик работал корректно, учитывал именно уникальные визиты с cookie, засчитывал одно посещение страницы в сутки одним пользователем?
Заранее спасибо!
Комментарии: 5
                Есть. Надо открыть сниппет или плагин, посмотреть где там происходит подсчёт и поставить нужное условие.            
                    
                Вот сниппет, судя по всему, в нем происходит подсчет:
                    $page =  $modx->getObject('modResource', $modx->resource->get('id'));
$view = 0;
// Check the option to record in TV
if($saveTv == 'true') {
    // get the required TV object by name (or id)
    $tv = $modx->getObject('modTemplateVar',array('name'=>'HitsPage'));
    if($tv) {
        $tvs = $modx->getObject('modTemplateVarResource',array('tmplvarid'=>$tv->id, 'contentid'=>$page->get('id')));
        if($tvs) {
            $viewTv = $tvs->get('value');
            $tvs->set('value',intval($viewTv) + 1);
            if($tvs->save()) $view = $viewTv;
        } else {
            $tvn = $modx->newObject('modTemplateVarResource');
            $tvn->set('tmplvarid',$tv->id);
            $tvn->set('contentid',$page->get('id'));
            $tvn->set('value',1);
            if($tvn->save()) $view = 1;
        }       
    } 
} else {
    $view = $page->getProperty('hitts','hitspage',$view);
}
$page->setProperty('hitts',intval($view) + 1,'hitspage');
$page->save();
return $view;А как его модифицировать, что бы уникальных только считал?            
                Вот строки отвечающие за сохранение
                    $tvs->set('value',intval($viewTv) + 1);
 if($tvs->save()) $view = $viewTv;$page->setProperty('hitts',intval($view) + 1,'hitspage');
$page->save();Заверните их в условие. Предварительно правда надо записывать время начала визита.            
                Есть какой либо пример? Я новичок в этом, не умею пока на таком языке глаголить))) В условие завернуть — это примерно понятно что, а как время записывать и как это делать, 0)            
                    
                В сессию или в куки записывайте. Как работать с куками или сессией можно посмотреть в документации по PHP.            
                    
                            Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.