Php Magento log_访问者为单个会话填充多个记录
我在Magento的log_visitor表中添加了新的列来跟踪visitor的utm参数。但在我添加了列之后,会为新访问者插入多条记录。 下面是我写在文件中的代码 \app\code\core\Mage\Log\Model\Resource\Visitor.phpPhp Magento log_访问者为单个会话填充多个记录,php,mysql,magento,visitor,Php,Mysql,Magento,Visitor,我在Magento的log_visitor表中添加了新的列来跟踪visitor的utm参数。但在我添加了列之后,会为新访问者插入多条记录。 下面是我写在文件中的代码 \app\code\core\Mage\Log\Model\Resource\Visitor.php protected function _saveVisitorInfo($visitor) { $stringHelper = Mage::helper('core/string'); $referer =
protected function _saveVisitorInfo($visitor)
{
$stringHelper = Mage::helper('core/string');
$referer = $stringHelper->cleanString($visitor->getHttpReferer());
$referer = $stringHelper->substr($referer, 0, 255);
$userAgent = $stringHelper->cleanString($visitor->getHttpUserAgent());
$userAgent = $stringHelper->substr($userAgent, 0, 255);
$charset = $stringHelper->cleanString($visitor->getHttpAcceptCharset());
$charset = $stringHelper->substr($charset, 0, 255);
$language = $stringHelper->cleanString($visitor->getHttpAcceptLanguage());
$language = $stringHelper->substr($language, 0, 255);
$adapter = $this->_getWriteAdapter();
$data = new Varien_Object(array(
'visitor_id' => $visitor->getId(),
'http_referer' => $referer,
'http_user_agent' => $userAgent,
'http_accept_charset' => $charset,
'http_accept_language' => $language,
'server_addr' => $visitor->getServerAddr(),
'remote_addr' => $visitor->getRemoteAddr(),
'utm_name' => "utm_name",
));
$bind = $this->_prepareDataForTable($data, $this->getTable('log/visitor_info'));
$adapter->insert($this->getTable('log/visitor_info'), $bind);
return $this;
}
我刚刚添加了“utm_name”,因此插入了多条记录。您确定这是因为您添加了一个新列吗?我也试过同样的方法,但没有解决问题。请删除您添加的新列,再次进行检查?你是如何测试它的?请分享你用来记录访问者详细信息的url。我通过删除新添加的列对其进行了测试。我通过在原始url中添加?utm_campaign=test再次访问该url,并且再次获得多个条目。所以我猜这是因为url中的utm_活动参数,因为当我从url中删除utm_活动时,表中只有一个条目。你能告诉我如何处理这场utm_竞赛吗?