Example #1
0
 /**
  * Load Item model by product
  *
  * @param \Magento\GoogleShopping\Model\Item $model
  * @return $this
  */
 public function loadByProduct($model)
 {
     if (!$model->getProduct() instanceof \Magento\Framework\Object) {
         return $this;
     }
     $product = $model->getProduct();
     $productId = $product->getId();
     $storeId = $model->getStoreId() ? $model->getStoreId() : $product->getStoreId();
     $read = $this->_getReadAdapter();
     $select = $read->select();
     if ($productId !== null) {
         $select->from($this->getMainTable())->where("product_id = ?", $productId)->where('store_id = ?', (int) $storeId);
         $data = $read->fetchRow($select);
         $data = is_array($data) ? $data : [];
         $model->addData($data);
     }
     return $this;
 }
Example #2
0
 /**
  * Insert Item into Google Content
  *
  * @param \Magento\GoogleShopping\Model\Item $item
  * @return $this
  */
 public function insert($item)
 {
     $service = $this->getService();
     $entry = $service->newEntry();
     $type = $item->getType();
     $type->convertProductToEntry($item->getProduct(), $entry);
     $entry = $service->insertItem($entry);
     $published = $this->convertContentDateToTimestamp($entry->getPublished()->getText());
     $item->setGcontentItemId($entry->getId())->setPublished($published);
     $expires = $this->_getAttributeValue($entry, 'expiration_date');
     if ($expires) {
         $expires = $this->convertContentDateToTimestamp($expires);
         $item->setExpires($expires);
     }
     return $this;
 }