예제 #1
0
 /**
  * Initialization visitor by request
  *
  * Used in event "controller_action_predispatch"
  *
  * @param   \Magento\Framework\Event\Observer $observer
  * @return  \Magento\Customer\Model\Visitor
  */
 public function initByRequest($observer)
 {
     if ($this->skipRequestLogging || $this->isModuleIgnored($observer)) {
         return $this;
     }
     if ($this->session->getVisitorData()) {
         $this->setData($this->session->getVisitorData());
     }
     if (!$this->getId()) {
         $this->setSessionId($this->session->getSessionId());
         $this->save();
         $this->_eventManager->dispatch('visitor_init', array('visitor' => $this));
         $this->session->setVisitorData($this->getData());
     }
     return $this;
 }
예제 #2
0
 /**
  * Initialization visitor by request
  *
  * Used in event "controller_action_predispatch"
  *
  * @param   \Magento\Framework\Event\Observer $observer
  * @return  \Magento\Customer\Model\Visitor
  */
 public function initByRequest($observer)
 {
     if ($this->skipRequestLogging || $this->isModuleIgnored($observer)) {
         return $this;
     }
     if ($this->session->getVisitorData()) {
         $this->setData($this->session->getVisitorData());
     }
     $this->setLastVisitAt((new \DateTime())->format(\Magento\Framework\Stdlib\DateTime::DATETIME_PHP_FORMAT));
     if (!$this->getId()) {
         $this->setSessionId($this->session->getSessionId());
         $this->save();
         $this->_eventManager->dispatch('visitor_init', ['visitor' => $this]);
         $this->session->setVisitorData($this->getData());
     }
     return $this;
 }