Is there any way to load images directly from external url, instead of importing images in to the server?
-
You mean like a CDN or simply get the images from some other place and don't manage images with Magento?– mbalpardaCommented Jul 22, 2015 at 18:22
-
In product detail page, the images should be loaded from external url. It should not be downloaded. i.e directly shown from external url's like images from ebay, amazon,etc..– Ashhar AzeezCommented Jul 22, 2015 at 18:26
-
How do you plan to manage images and product relations? I suppose you want to throw a link in the product creation page and then render it in the frontend.– mbalpardaCommented Jul 22, 2015 at 18:27
-
Yes, i can add the image urls into the new table based on sku.– Ashhar AzeezCommented Jul 22, 2015 at 18:29
4 Answers
I had many issues with the same problem, solved it by working around the code in app/design/frontend/"MYTHEME/default/template/catalog/product/view.phtml.
after adding ximage attribute to the attribute set, I replaced the code in view.phtml from :
<?php echo $this->getChildHtml('media') ?>
To
<IMG SRC="<?php echo $_product->getXimage();?>" ALT="some text" WIDTH=<?php echo '';?>" HEIGHT="<?php echo '';?>>
working fine you can also add new attributes with size and width of the images, use image resizer function of your own and insert the new sizes in the html tag as above.
that's it.
-
Of course you need to save the image URL in the product ximage attribute Commented Nov 10, 2016 at 12:15
Short Answer: No, not really or at least not without an extension.
When you add an image through either the admin interface or via an import process, you're not just transferring a file. That DOES happen on the initial upload, but there's some additional logic that gets executed as well when the image is rendered in place on a page as a full size, medium size, or thumbnail image: Magento takes the file and uses image processing functions to resize the image for the sizes configured in the image display theme templates. This is done in a "lazy" manner - when you view a page with an image, magento checks to see if the correct size that needs to be displayed has already been generated. If not, the image is generated at the correct size then rendered.
Subsequent views use the pre-generated image. Once all image sizes have been generated it shouldn't resize anymore.
The PHP functions that perform this resizing can only do so if:
- You have the correct permission set to allow apache (or Zend Server) to write to the folders and files system where images are stored and...
- the base image has already been uploaded and stored on the local drive where apache (or Zend Server) have permissions to read and / or write.
If you store images on an external server, none of that works first and foremost because the php code as-shipped expects the location where it will be reading from to be on a local disk.
You could write your own extension that pre-generated all required size images upon upload to server, then transfer all images to an external server, then update all database records that refer to all those image url's to point to new IRM for each image size, but that is not trivial. There may be an extension available that does this but default install does not.
Thought I would also add that directly linking to images hosted on eBay or Amazon that you don't host yourself may also run into legal complications of copyright infringement and / or perhaps just eating someone else's bandwidth without properly compensating them for the cost they incur or at least seeking permission (essentially trespassing on someone else's property).
I had faced many problems while uploading Images to the magento store locally but its now working fine when I installed updated version of Adobe Flashplayer plugin for firefox browser.
External Images can be uploaded just by downloading to your device and there after you just upload onto your store.
-
The OP didn't indicate they were having any problems with the uploading functionality, just that they wanted to keep the images OFF of the local system and instead serve them from a remote host. Commented Dec 10, 2015 at 14:08