/** * {@inheritdoc} */ public function duplicate($attributeId, $newFiles, $originalProductId, $newProductId) { $pluginInfo = $this->pluginList->getNext($this->subjectType, 'duplicate'); if (!$pluginInfo) { return parent::duplicate($attributeId, $newFiles, $originalProductId, $newProductId); } else { return $this->___callPlugins('duplicate', func_get_args(), $pluginInfo); } }
/** * Get all product images * * @param \Magento\Framework\DataObject $product * @param int $storeId * @return array */ protected function _getAllProductImages($product, $storeId) { $product->setStoreId($storeId); $gallery = $this->_mediaAttribute->loadProductGalleryByAttributeId($product, $this->_getMediaGalleryModel()->getAttribute()->getId()); $imagesCollection = []; if ($gallery) { $productMediaPath = $this->_getMediaConfig()->getBaseMediaUrlAddition(); foreach ($gallery as $image) { $imagesCollection[] = new \Magento\Framework\DataObject(['url' => $productMediaPath . $image['file'], 'caption' => $image['label'] ? $image['label'] : $image['label_default']]); } } return $imagesCollection; }
/** * @param array $ids * @param int $storeId * @return array */ protected function loadVideoDataById(array $ids, $storeId = null) { $mainTableAlias = $this->resourceEntryMediaGallery->getMainTableAlias(); $joinConditions = $mainTableAlias . '.value_id = store_value.value_id'; if (null !== $storeId) { $joinConditions = implode(' AND ', [$joinConditions, 'store_value.store_id = ' . $storeId]); } $joinTable = [[['store_value' => $this->resourceEntryMediaGallery->getTable(InstallSchema::GALLERY_VALUE_VIDEO_TABLE)], $joinConditions, $this->getVideoProperties()]]; $result = $this->resourceEntryMediaGallery->loadDataFromTableByValueId(InstallSchema::GALLERY_VALUE_VIDEO_TABLE, $ids, \Magento\Store\Model\Store::DEFAULT_STORE_ID, ['value_id' => 'value_id', 'video_provider_default' => 'provider', 'video_url_default' => 'url', 'video_title_default' => 'title', 'video_description_default' => 'description', 'video_metadata_default' => 'metadata'], $joinTable); foreach ($result as &$item) { $item = $this->substituteNullsWithDefaultValues($item); } return $result; }
/** * {@inheritdoc} */ public function getValidationRulesBeforeSave() { $pluginInfo = $this->pluginList->getNext($this->subjectType, 'getValidationRulesBeforeSave'); if (!$pluginInfo) { return parent::getValidationRulesBeforeSave(); } else { return $this->___callPlugins('getValidationRulesBeforeSave', func_get_args(), $pluginInfo); } }