/** * 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; }
/** * 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; }