2011-08-22 80 views
2

有沒有辦法訪問Magento中的用戶日誌?我知道數據庫有一個名爲log_visitor的表格,可以看到日誌訪問者,而log_visitor_info可以記錄有關訪問者(IP,用戶代理)的更多信息。我如何獲得這些數據?當我寫magento訪客日誌

$visitors = Mage::getModel('log/visitor')->getCollection() 
foreach ($visitors as $visitor) { 
    print_r($visitor->getData()); 
} 

我得到一個錯誤PHP Fatal error: Uncaught exception 'Exception' with message 'Recoverable Error: Method Varien_Db_Select::__toString() must return a string value in /path/to/server/lib/Varien/Db/Adapter/Pdo/Mysql.php on line 272' in /path/to/server/app/code/core/Mage/Core/functions.php:239

+0

你試過'調試()'代替'的getData()'? – clockworkgeek

回答

0

,如果你不知道有關對象的API,您可以使用直接數據庫查詢。

例如

 $read = Mage::getSingleton('core/resource')->getConnection('core_read'); 

     $results = $read->fetchAll("select * from log_visitor_info"); 

     foreach($resulst as $res) 
     echo $res['http_referer'] . " - " . $res['http_user_agent'] . " - " . $res['remote_addr'] . " - "; 
+2

小心做直接db查詢。 Magento的數據庫充斥着私鑰和其他所有你能想象到的東西。我並不是說這個答案在任何方面都不好,但我還沒有發現需要使用無法使用Magento的EAV模型完成的數據庫查詢 – CarComp

3

你需要用var_dump或var_export在PHP對象。

下面的代碼將輸出每個訪問者對象:

$visitors = Mage::getModel('log/visitor')->getCollection(); 

foreach ($visitors as $visitor) { 
     var_dump($visitor); 
}