2012-01-04 6 views
5

Jak policzyć liczbę wyświetleń (trafień) w magento? Czy istnieją jakieś wbudowane metody dostępne w Magento?Licznik trafień w magento

EDIT z komentarzem:

muszę łączną liczbę wyświetleń dla całej witryny. Mam użytkownicy forum liczyć z tym kodem:

$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

Łączna liczba wyświetleń całej witryny lub widoków pojedynczej strony? Przez jaki okres czasu? Czy próbowałeś sam czegoś lub zrobiłeś jakieś badania? – Bojangles

+5

Wiem, że to nie jest to, o co prosisz, ale czy lepiej nie skorzystać z Google Analytics? – Max

Odpowiedz

0

Główny stół, który można wykorzystać log_visitor Więc oto kod:

$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

Problem z kodem, który należy umieścić na górze jest to, że spowoduje to skanowanie tabeli, którego prawdopodobnie nie chcesz. Dodatkowo nie chcesz pisać żadnego SQL. Więc może chcesz spróbować czegoś takiego w klasie blokowej.

$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

użyć tego kodu liczyć jak na na miejscu produktów jak przycisk na stronie produktu, należy umieścić ten kod w 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 Aktualizacja ///

  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> 

//// HTML kod ///

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