MBS Posted July 30, 2011 Report Share Posted July 30, 2011 Hallo ich habe noch ein Problem welches der Kunde gelöst haben möchte! Es werden die Artikel per csv importiert. Normalerweise gibt es zu jedem Artikel immer ein Artikelbild. In der csv wird dieses gleich mit angegeben. Artikelbildname entspricht Artikelnummer. Soweit so gut nun kann es sein das der Lieferung einige Bilder vergisst oder zu einigen Artikeln keine Bilder hat. Jetzt steht in der Datenbank zu diesem Artikel ein Artikelbild welches physikalisch aber nicht existiert. Dementsprechend kommt ein rotes x und der Artikellink in der Shopübersicht was sehr unschön aussieht! Wie kann ich abfragen das Veyton überprüft ob ein Artikelbild physikalisch vorhanden ist und wenn dies nicht der Fall ist ein NoImage.gif anzeigt! Bitte um Unterstützung und bedanke mich dafür sehr herzlich! Mit freundlichen Grüßen, Michael Hofmann MISA Business Solutions Link to comment Share on other sites More sharing options...
oldbear Posted July 31, 2011 Report Share Posted July 31, 2011 hi, das geht mit einer kleinen php-Routine. Problem ist aber, dass die Blider i.d.Regel über das {img}-Tag aufgerufen werden mit der Bildklasse m_org,_info,_thumb usw. In der 14 ist die function.img.php offen und man könnte das direkt dort einbauen. Alternativ könnte man das bereits beim Import abfangen und prüfen, ob im Verzeichnis /media/images/org ein Bild dieses Namens vorhanden ist und wenn nicht, noimage.gif eintragen.Das funktioniert natürlich nur dan, wenn zuerst die vorhandenen Bilder hochgeladen werden und dann der Import gestartet wird. Es könnte allerdings schon diese Mimik reichen: {assign var=image value=$products_image} {php} $image = $this->get_template_vars('image'); $file=fopen(_SRV_WEBROOT."media/images/org/".str_replace("product:","",$image),"r"); { if ( !$file ) $image = "noimage.gif"; else $image = $image; $this->assign('image',$image); {/php} [/HTML] und dann weiter z.B.: [HTML]<a href="{$products_link}"> {img img=$image type=m_info class=productImageBorder alt=$products_name|escape:"html"} {* auskommentiert img img=$products_image type=m_info class=productImageBorder alt=$products_name|escape:"html"*} </a> [/HTML] bzw. im Listing: [HTML]{assign var=image value=$module_data.products_image} {php} $image = $this->get_template_vars('image'); $file=fopen(_SRV_WEBROOT."media/images/org/".str_replace("product:","",$image),"r"); { if ( !$file ) $image = "noimage.gif"; else $image = $image; $this->assign('image',$image); {/php}[/HTML] und dann weiter z.B.: [HTML]<a href="{$module_data.products_link}"> {img img=$image type=m_info class=productImageBorder alt=$module_data.products_name|escape:"html"} {* auskommentiert img img=$module_data.products_image type=m_info class=productImageBorder alt=$module_data.products_name|escape:"html"*} </a>[/HTML] Grüsse Link to comment Share on other sites More sharing options...
MBS Posted August 1, 2011 Author Report Share Posted August 1, 2011 Hallo oldbear, hätte dies in der Testumgebung gerade einmal umsetzen wollen und hätte dazu eine Frage: {assign var=image value=$module_data.products_image} {php} $image = $this->get_template_vars('image'); $file=fopen(_SRV_WEBROOT."media/images/org/".str_replace("product:","",$image),"r"); { if ( !$file ) $image = "noimage.gif"; else $image = $image; $this->assign('image',$image); {/php} Soll dies in der product_listing_v1.html integriert werden? Weil wenn ich das mache dann zerschießt es mir den Shop. Soll heißen ich bekomme nur noch eine weiße leere Seite! Link to comment Share on other sites More sharing options...
oldbear Posted August 1, 2011 Report Share Posted August 1, 2011 sorry, Tippfehler: {assign var=image value=$module_data.products_image} {php} $image = $this->get_template_vars('image'); $file=fopen(_SRV_WEBROOT."media/images/org/".str_replace("product:","",$image),"r"); if ( !$file ) $image = "noimage.gif"; else $image = $image; $this->assign('image',$image); {/php} ( geschweifte Klammer vor dem "if" ) Link to comment Share on other sites More sharing options...
MBS Posted August 1, 2011 Author Report Share Posted August 1, 2011 Danke Dir und sorry das habe ich auch nicht gesehen bzw. mein Editor hat die geschwungene Klammer welche zuviel war auch nicht angemeckert. Einen Tip bräuchte ich noch welche Möglichkeit habe ich mir die Variablen anzeigen zu lassen? ein echo $file oder echo $image bringen mir nichts zur Ansicht. Habe den Code eingebaut und nun werden gar keine Produktbilder angezeigt, stattdessen bei jedem Artikel der Produktbildbezeichner (alt) Jetzt wollte ich nachsehen was die Variablen $files und $image überhaupt zugewiesen bekommen! Danke Dir Link to comment Share on other sites More sharing options...
NilsK Posted August 1, 2011 Report Share Posted August 1, 2011 Hallo, mit {debug}. Herzliche Grüße Nils Link to comment Share on other sites More sharing options...
oldbear Posted August 1, 2011 Report Share Posted August 1, 2011 hi {assign var=image value=$module_data.products_image} {php} $image = $this->get_template_vars('image'); // hier muesste sowas angezeigt werden: product:1771_hazel_blk.jpg echo $image; $file=fopen(_SRV_WEBROOT."media/images/org/".str_replace("product:","",$image),"r"); // hier muesste sows ankommen, falls das Bild existiert: // Resource id #346product:1771_hazel_blk.jpg // falls nicht, ist $file vom Wert false echo $file; if ( !$file ) $image = "noimage.gif"; else $image = $image; $this->assign('image',$image); {/php}[/HTML] Link to comment Share on other sites More sharing options...
MBS Posted August 1, 2011 Author Report Share Posted August 1, 2011 Hallo und danke aber {debug} hat mir leider die Inhalte der selbstgesetzten Variablen nicht angezeigt. Habe aber auch schon den Fehler gefunden! Ich dachte ich muss den PHP-Teil ganz oben ins Listing geben, dass funktionierte jedoch nicht. Erst als ich die PHP-Abfrage direkt ins <div id="produktlisting"> gegeben hatte funktionierte die Abfrage. Und oldbear, danke danke danke es funktioniert so tadellos! Ich bekomme nun das noimage.gif angezeigt. Muss es nur noch für die product.html genauso handhaben und die Anforderung des Kunden ist erfüllt! Seltsam finde ich jedoch das es so eine Routine nicht standardmäßig gibt denn ich denke mal die Konstellation wie bei meinem Kunden mit Massenimport der Artikeldaten und Bilddaten haben sicherlich mehrere User! P.S. oldbear kannst Du mir zufällig ein gutes PHP-Buch empfehlen, es soviele und vielleicht hast Du ja selbst hier einen Liebling LG Michael Link to comment Share on other sites More sharing options...
MBS Posted August 1, 2011 Author Report Share Posted August 1, 2011 @oldbear ich bräuchte nochmals Deine Hilfe denn in der products.html erhalte ich nach einfügen des php-codes auch einen weißen bildschirm. Verstehe jedoch nicht was hier anders sein soll. Eventuell liegt es an der Templatedatei die sich etwas von der Originalen unterscheidet! Ich habe mir erlaubt die entsprechende Datei anzuhängen vielleicht kannst Du mal einen Blick drauf werfen. Ich danke Dir recht herzlich!product.html Link to comment Share on other sites More sharing options...
MBS Posted August 1, 2011 Author Report Share Posted August 1, 2011 @oldbear es funktioniert jetzt. Nur verstehen tu ich es nicht. Ich wollte die Originalzeile: <div id="productinfoimages"><a rel="gallery" href="{img img=$image type=m_popup path_only=true}" class="thickbox">{img img=$image type=m_info alt=$products_name|escape:"html"}</a></div> {/if} <!-- zeilencode --> auskommentieren, wie Du in meinem Anhang sehen kannst. Aber irgendwie scheint das der Browser nicht zu funktionieren. Wenn ich das auskommentieren weg lasse funktioniert es. in der product_listing_v1.html habe ich es auch auskommentiert und dort stört es den Browser nicht! verstehe ich nicht! Link to comment Share on other sites More sharing options...
oldbear Posted August 1, 2011 Report Share Posted August 1, 2011 hi, mach die zwei Kommentarzeilen raus und es geht; die werden aus irgend einem Grund nicht richtig auskommentiert ( die obere ), besser mit {* ..... *} auskommentieren Grüsse Link to comment Share on other sites More sharing options...
MBS Posted August 1, 2011 Author Report Share Posted August 1, 2011 @oldbear wollte mich nochmal für Deine Hilfe bedanken. Diese war nicht nur Zielführend sondern auch Lehrreich! Danke und einen schönen Abend, mfg Michael Hofmann Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.