Dies ist die aktuelle Version für die unter http://www.gambio-forum.de/threads/11342-“On-the-fly”-Artikelbilder?p=86650&viewfull=1#post86650 beschriebene Funktion. Die Notwendigkeit, eine eigene Versions der "Image-Manipulator"-Klasse mit auszuliefern, ist mit dieser Version nicht mehr notwendig. Wie immer gilt: Anwendung auf das ausschließliche Risiko des Shopbetreibers. Es gibt keinerlei Gewährleistung. Erst in einem Testshop testen.
Hi Avenger, danke für das Plugin! Es hilft ungemein bei der Arbeit mit CSV Import. Leider zeigt er mir das nopic Bild nicht an, wenn die Datei nicht vorhanden ist. Beispiel: Artikel A | Bild1.jpg laut DB | Bild1.jpg auf FTP -> Bild wird korrekt angezeigt Artikel B | Bild2.jpg laut DB | - auf FTP -> nopic sollte aufgerufen werden, wird aber nicht angezeigt. kopiert ist sie wie in der Anleitung beschrieben nach original_images. Hast du oder auch die anderen einen Tipp, woran es liegt? Danke und Grüße
@Avenger Super Plugin, aber bei mir das gleiche Problem wie bei soprao. Das nopic wird leider nicht angezeigt, gibt es dafür einen Fix? Gambio 2.2.1.2 5.5.24-nmm1 (Zend: 2.5.0) GD Version bundled (2.1.0 compatible)
Versuche es mal mit dieser Version von "pt_getimg.php".(in der Shop-Root) PHP: <?php/* --------------------------------------------------------------pt_getimg.php 2013-06-05 AvengerCopyright (c) 2013 Avenger, entwicklung@powertemplate.deAllow "on-the-fly" product-image creation to avoid lengthy "image-processing" in case of chnagesReleased under the GNU General Public License (Version 2)[http://www.gnu.org/licenses/gpl-2.0.html]--------------------------------------------------------------based on:(c) 2000-2001 The Exchange Project (earlier name of osCommerce)(c) 2002-2003 osCommerce(application_top.php,v 1.273 2003/05/19); www.oscommerce.com(c) 2003 nextcommerce (application_top.php,v 1.54 2003/08/25); www.nextcommerce.org(c) 2003 XT-Commerce - community made shopping http://www.xt-commerce.com ($Id: application_top.php 1323 2005-10-27 17:58:08Z mz $)---------------------------------------------------------------------------------------*/if (!defined('DIR_FS_DOCUMENT_ROOT')){ if (file_exists('includes/local/configure.php')) { include ('includes/local/configure.php'); } else { include ('includes/configure.php'); }}//$fp=fopen('__getimg_log.txt','a');$fp=false;if ($fp){ fwrite($fp,PHP_EOL.date('d.m.Y, H:i:s')." -- file='$file'".PHP_EOL); fwrite($fp,"original_file='$original_file'".PHP_EOL);}$file=trim($_SERVER['REQUEST_URI']);//debugbreak();if (DIR_WS_CATALOG=='/'){ $file=substr($file,1);}else{ $file=str_replace(DIR_WS_CATALOG,'',$file);}$file=DIR_FS_DOCUMENT_ROOT.$file;$image_dirs=array('thumbnail_images','info_images','popup_images','gallery_images');$original_file=str_replace($image_dirs,'original_images',$file);//debugbreak();if ($file<>$original_file){ if (!is_file($original_file)) { $no_pic='/nopic.jpg'; $original_file=dirname($original_file).$no_pic; $file=dirname($file).$no_pic; if ($fp) { fwrite($fp,"original file missing".PHP_EOL); } } $rebuild=!is_file($file); //Image file not available? //debugbreak(); if ($fp) { fwrite($fp,"rebuild missing file='$rebuild'".PHP_EOL); } if (!$rebuild) { $rebuild=filemtime($original_file)>filemtime($file); //Original file is newer than existing file to load? if ($fp) { fwrite($fp,"rebuild outdated file='$rebuild'".PHP_EOL); } } if ($rebuild && is_file($original_file)) { if ($fp) { fwrite($fp,"rebuild file='$rebuild'".PHP_EOL); } include('includes/application_top_get_img.php'); $pt_image_processing=new pt_image_processing; $pt_image_processing->process($file,$original_file); } if (is_file($file)) { if ($fp) { fwrite($fp,"***** file exists *****".PHP_EOL); } $image_type = preg_replace( "/.*\.(png|jp(e)?g|gif)$/", "\\1", $file ); $image_type = (strcmp( $image_type, "jpg") == 0) ? "jpeg" : $image_type; header("Content-Type: image/" . $image_type); @readfile($file); } else { if ($fp) { fwrite($fp,"***** file not exists *****".PHP_EOL); } header("HTTP/1.0 404 Not Found"); } if ($fp) { fclose($fp); }}else{ $info=@getimagesize($file); if (is_array($info)) { header("Content-Type: " . $info['mime']); @readfile( $file ); } else { header("HTTP/1.0 404 Not Found"); }}class pt_image_processing{ var $code, $title, $description, $enabled; function __construct() { $old_reporting=error_reporting(0); define('DIR_FS_CATALOG_IMAGES', DIR_FS_CATALOG . 'images/'); $product_images=DIR_FS_CATALOG_IMAGES .'product_images/'; define('DIR_FS_CATALOG_ORIGINAL_IMAGES', $product_images.'original_images/'); define('DIR_FS_CATALOG_THUMBNAIL_IMAGES', $product_images.'thumbnail_images/'); define('DIR_FS_CATALOG_INFO_IMAGES', $product_images.'info_images/'); define('DIR_FS_CATALOG_POPUP_IMAGES', $product_images.'popup_images/'); define('DIR_FS_CATALOG_GALLERY_IMAGES', $product_images.'gallery_images/'); error_reporting($old_reporting); } function process(&$file,$original_file) { if (is_file($original_file)) { function clear_string($value) { $string = str_replace(array("'",')','('), '', $value); $array = explode(',', $string); return $array; } define( '_VALID_XTC',true); $admin_includes=DIR_FS_DOCUMENT_ROOT.'admin/includes/'; include ($admin_includes.'classes/image_manipulator_GD2.php'); $products_image_name = basename($file); $GLOBALS['is_products_image']=true; require($admin_includes . 'product_xxxxx_images.php'); } else { $file=''; } }}function get_usermod($file){ return $file;} Sehe gerade: das Modul hat heute seinen 2-jährigen Geburtstag
Mmmhhh... Hast Du einen (Test-)Shop, in dem ich das mal untersuchen kann? FTP-Zugang? Auf welcher Seite fehlt ein Bild?
Kann eigentlich nicht sein... Denn das Vorhandensein eines Bildes wird bei jeder Anforderung eines Bildes überprüft....
Zur Abrundung: Steffen hatte schon eine eigene Verfügbarkeitsprüfung für Bilder drin, so dass der Shop direkt das "Bild nicht verfügbar"-Bild angefordert hatte...
Hallo Avenger, nochmal vielen Dank für das Super Plugin. Ich habe per Skript 1.5GB an Bildern in den Ordner original_images geschaufelt. Das sind über 13000 Bilder, damit kommt Gambio selbst überhaupt nicht zurecht. Wäre es möglich, dass auch die Bilder von Eigenschaften erzeugt werden, also für den Ordner properties_combis_images?
So weit ich das sehen kann werden die properties_combis_images nicht mit der Gambio-Bildbearbeitung verarbeitet (skaliert), sondern einfach beim Upload nur kopiert. Da kann/muss man nichts tun.
Naja, die original_images sind leider teilweise größer. Kannst du es nicht einbauen, dass dein on-the-fly skript sie auf eine akzeptable Größe bringt? Wobei das größte Problem ist: Die Bilder liegen in original_images und nicht im Ordner für combi_images.