2012-01-04 27 views
5

¿Cómo cuento el número de visitas (visitas) en magento? ¿Hay algún método incorporado disponible en magento?Contador de visitas en magento

Editar en el comentario:

necesito vistas totales para todo el sitio. Tengo los usuarios cuentan desde este código:

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

Vistas totales para todo su sitio, o vistas de una sola página? Durante qué período de tiempo? ¿Has probado algo, o has hecho alguna investigación? – Bojangles

+5

Sé que esto podría no ser lo que estás preguntando, pero ¿no sería mejor que utilizas Google Analytics? – Max

Respuesta

0

La mesa principal que puede utilizar log_visitor lo tanto, aquí está el código:

$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 
0

El problema con el código que se pone en la parte superior es que dará como resultado una exploración de tabla, que probablemente no desee. Además, no desea escribir ningún SQL. Por lo tanto, podría intentar algo como esto en una clase bloque.

$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); 
0

Usa este código para contar como el producto por plaza como botón en la página del producto, coloque este código en 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 actualización ///

  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> 

//// Código 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> 
Cuestiones relacionadas