I just did this on a site because the customer was always having to update there site with the new images that were always changed by the manufacturer. There is also the fact that even with the steps above it was to much work for the customer.
I found an old thread on here where they talked about it in 2008 but some of there information was very outdated and since there was so many new changes I was able to do this very easy with only editing 1 file in a non-destructive way. If you try the way other posts say then it will work but your banner images will also be effected because they are all using the same HTML coding.
Here is what I did:
All edits are on - root/includes/functions/html_output.php
Step #1
First you have to edit the zen_image_OLD() function because you are going to use this to call in your images.
Find:
$image = '<img src="' . zen_output_string($src) . '" alt="' . zen_output_string($alt) . '"';
Right above that add this line of code
//This cuts images/ out of the string when you are calling an external image
$src = substr($src, 7);
Step #2
Find the zen_image() function and look for:
if (strstr($src, 'includes/templates') or strstr($src, 'includes/languages') or PROPORTIONAL_IMAGES_STATUS == '0') {
Add to the end of that string the http check:
if (strstr($src, 'includes/templates') or strstr($src, 'includes/languages') or PROPORTIONAL_IMAGES_STATUS == '0' or stristr($src, 'http') != '0' ) {
That's it, now the site should be unaffected but when you call a external image with a http in front of it the code will use the other function removing the images/ part of the string. I have not tested this on more then products and banners and I am not sure where zen_image_OLD() is called. I did a simple search for it in the developer tool kit and did not find it. You could also just copy all of it and rename the function so that there is no interference at all.


Reply With Quote
