本文整理汇总了PHP中Magento\Catalog\Api\Data\ProductInterface::hasGalleryAttribute方法的典型用法代码示例。如果您正苦于以下问题:PHP ProductInterface::hasGalleryAttribute方法的具体用法?PHP ProductInterface::hasGalleryAttribute怎么用?PHP ProductInterface::hasGalleryAttribute使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Magento\Catalog\Api\Data\ProductInterface
的用法示例。
在下文中一共展示了ProductInterface::hasGalleryAttribute方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: processNewMediaGalleryEntry
/**
* @param ProductInterface $product
* @param array $newEntry
* @return $this
* @throws InputException
* @throws StateException
* @throws \Magento\Framework\Exception\LocalizedException
*/
protected function processNewMediaGalleryEntry(ProductInterface $product, array $newEntry)
{
/** @var ImageContentInterface $contentDataObject */
$contentDataObject = $newEntry['content'];
/** @var \Magento\Catalog\Model\Product\Media\Config $mediaConfig */
$mediaConfig = $product->getMediaConfig();
$mediaTmpPath = $mediaConfig->getBaseTmpMediaPath();
$relativeFilePath = $this->imageProcessor->processImageContent($mediaTmpPath, $contentDataObject);
$tmpFilePath = $mediaConfig->getTmpMediaShortUrl($relativeFilePath);
if (!$product->hasGalleryAttribute()) {
throw new StateException(__('Requested product does not support images.'));
}
$imageFileUri = $this->getMediaGalleryProcessor()->addImage($product, $tmpFilePath, isset($newEntry['types']) ? $newEntry['types'] : [], true, isset($newEntry['disabled']) ? $newEntry['disabled'] : true);
// Update additional fields that are still empty after addImage call
$this->getMediaGalleryProcessor()->updateImage($product, $imageFileUri, ['label' => $newEntry['label'], 'position' => $newEntry['position'], 'disabled' => $newEntry['disabled'], 'media_type' => $newEntry['media_type']]);
return $this;
}