Php magento中的命中计数器

Php magento中的命中计数器,php,magento,Php,Magento,如何计算magento中的视图(点击数)?magento中有内置的方法吗 从评论中编辑: 我需要整个网站的总视图。我从以下代码中获得了在线用户数: $visitor_count = Mage::getModel('log/visitor_online') ->prepare() ->getCollection() ->count(); if(!empty($

如何计算magento中的视图(点击数)?magento中有内置的方法吗

从评论中编辑:

我需要整个网站的总视图。我从以下代码中获得了在线用户数:

$visitor_count = Mage::getModel('log/visitor_online')
                    ->prepare()
                    ->getCollection()
                    ->count(); 
if(!empty($visitor_count) && $visitor_count > 0) {
    $cnt = $visitor_count; 
    echo 'Visitors online :'.$cnt; 
} 

您可以使用的主表
log\u visitor
下面是代码:

$totalUser = Mage::getSingleton('core/resource')->getConnection('core_write');
$queryTotal=$totalUser->query("SELECT * FROM log_visitor ORDER BY visitor_id DESC LIMIT 1 ");
// the result will give you maximum visitor_id

放在顶部的代码的问题是,它将导致表扫描,这可能是您不希望看到的。此外,您不想编写任何SQL。因此,可能需要在块类中尝试类似的操作

$model = Mage::getModel('log/visitor_online');
$select = $model->getCollection()->getSelect();
/* @var $select Varien_Db_Select */
$select->reset(Varien_Db_Select::COLUMNS);
$select->columns(
    new Zend_Db_Expr(
        sprintf('count(%s)', $model->getIdFieldName())
    )
);
echo $select->query()->fetchColumn(0);

使用此代码在“产品”页面上的“每个产品放置类似”按钮上计数,将此代码放置在view.phtml中

<?php 
if (!is_dir('clickcounter')) {
                        @mkdir('clickcounter', 0777,true);
                    }       
                    $filename=$_product->getSku().'.txt';               
                    $dir='clickcounter' ;               

                    if(!file_exists($dir.'/'.$filename)){
                        file_put_contents($dir.'/'.$filename, '0');
                    }
                    if(isset($_GET['click']) == 'yes'){
                        file_put_contents($dir.'/'.$filename, ((int) file_get_contents($dir.'/'.$filename)) + 1);
header('Location: ' . $_SERVER['SCRIPT_NAME']);

?>

/////Ajax更新///

            function myAjax() {                 
                 jQuery.ajax({
                 type: "POST",
                 url: '?click=yes',
                 data:{action:'call_this'},
                 cache: false,
                 success: function (html) {
                   //location.reload(true);
                   jQuery(".favourite-img").replaceWith(jQuery('.favourite-img', jQuery(html)));
                   jQuery('#likeme').addClass('disabled');

                 }

             });
         }

    </script>

函数myAjax(){
jQuery.ajax({
类型:“POST”,
url:“?单击=是”,
数据:{操作:'call_this'},
cache:false,
成功:函数(html){
//位置。重新加载(true);
jQuery(“.favorite img”).replacetwith(jQuery('.favorite img',jQuery(html));
jQuery('#likeme').addClass('disabled');
}
});
}
////HTML代码///

<a id="likeme" class="disabled" href="javascript:void(0)" >
                     <div class="favourite-product">
                    <div class="favourite-img"><?php echo file_get_contents($dir.'/'.$filename); ?></div>
                     </div>
                     </a>


整个网站的总浏览量,还是单个页面的浏览量?在什么时期?你自己尝试过什么吗,或者做过什么研究吗?我知道这可能不是你想要的,但是使用谷歌分析不是更好吗?