Esempio n. 1
0
 /**
  * {@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);
     }
 }
Esempio n. 2
0
 /**
  * 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);
     }
 }