perfect-code / module-product-media-uploader
This module for Magento 2 helps to download an image from external URL for further save it as a product media gallery entry.
Installs: 32
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
Type:magento2-module
Requires
- php: ^7.4|^8
- ext-json: *
- laminas/laminas-validator: *
- magento/framework: *
- magento/magento-composer-installer: *
- magento/module-catalog: *
- magento/module-config: *
README
This module for Magento 2 helps to download an image from external URL for further save it as a product media gallery entry.
The image will be saved on disk with the same name (name can be configured).
Configuration.
Here you can define module basic settings.
Usage.
Quickstart.
Inject \PerfectCode\ProductMediaUploader\Api\MediaEntryGeneratorInterface
to your constructor and push URL to the image you want to add to your product.
$mediaEntry = $this->mediaEntryGenerator->generate( 'http://localhost/my-image.jpg', ); /** @var \Magento\Catalog\Api\Data\ProductInterface $product */ $product->setMediaGalleryEntries([$mediaEntry]); // ... $this->productRepository->save($product);
This will save my-image.jpg
to pub/media
folder and assign this image on the product, based on settings configured above.
Save an image with a different title.
$mediaEntry = $this->mediaEntryGenerator->generate( 'http://localhost/my-image.jpg', ['some_attribute' => $yourCustomTitle] );
Then create a plugin on \PerfectCode\ProductMediaUploader\Api\MediaEntryGeneratorInterface::getImageName
method and reuse pushed parameter 'some_attribute'.