#1 (permalink)  
Alt 30.07.2011, 23:47
MBS MBS ist offline
Neuer Benutzer
 
Registriert seit: 29.06.2011
Beiträge: 19
Standard Abfrage ob Artikelbild vorhanden

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
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #2 (permalink)  
Alt 31.07.2011, 07:36
Erfahrener Benutzer
 
Registriert seit: 23.06.2009
Ort: Wachenzell ( nähe Eichstätt/Bayern )
Beiträge: 2.817
Standard

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:

HTML-Code:
{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}
und dann weiter z.B.:
HTML-Code:
<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>
bzw. im Listing:
HTML-Code:
{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}
und dann weiter z.B.:
HTML-Code:
<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>
Grüsse
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #3 (permalink)  
Alt 01.08.2011, 13:24
MBS MBS ist offline
Neuer Benutzer
 
Registriert seit: 29.06.2011
Beiträge: 19
Standard

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!
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #4 (permalink)  
Alt 01.08.2011, 13:40
Erfahrener Benutzer
 
Registriert seit: 23.06.2009
Ort: Wachenzell ( nähe Eichstätt/Bayern )
Beiträge: 2.817
Standard

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" )
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #5 (permalink)  
Alt 01.08.2011, 14:12
MBS MBS ist offline
Neuer Benutzer
 
Registriert seit: 29.06.2011
Beiträge: 19
Standard

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
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #6 (permalink)  
Alt 01.08.2011, 14:24
Erfahrener Benutzer
 
Registriert seit: 23.09.2008
Beiträge: 351
Standard

Hallo,

mit {debug}.

Herzliche Grüße
Nils
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #7 (permalink)  
Alt 01.08.2011, 14:33
Erfahrener Benutzer
 
Registriert seit: 23.06.2009
Ort: Wachenzell ( nähe Eichstätt/Bayern )
Beiträge: 2.817
Standard

hi
HTML-Code:
{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}
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #8 (permalink)  
Alt 01.08.2011, 14:48
MBS MBS ist offline
Neuer Benutzer
 
Registriert seit: 29.06.2011
Beiträge: 19
Standard

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
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #9 (permalink)  
Alt 01.08.2011, 16:50
MBS MBS ist offline
Neuer Benutzer
 
Registriert seit: 29.06.2011
Beiträge: 19
Standard

@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!
Angehängte Dateien
Dateityp: html product.html (5,8 KB, 3x aufgerufen)
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #10 (permalink)  
Alt 01.08.2011, 17:14
MBS MBS ist offline
Neuer Benutzer
 
Registriert seit: 29.06.2011
Beiträge: 19
Standard

@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!
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
abfrage, artikelbild, vorhanden

Themen-Optionen
Ansicht

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are aus
Pingbacks are aus
Refbacks are aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
artikelbild in 4.012 einstellen??? 1stMagic Fragen zur Software 23 22.03.2010 22:00
NoPicture Bild automatisch anzeigen wenn kein Artikelbild vorhanden? mimaxx Admininterface 0 05.03.2009 09:09
Abfrage für Artikelbeschreibung hansjpeter Template System 2 11.12.2007 08:05
Php Abfrage File_exists F?r Artikelbild ersetim Template System 7 20.04.2005 14:14


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:51 Uhr.

Copyright © 2011 xt:Commerce GmbH / xt:Commerce International Ltd. - All Rights Reserved

xt:Commerce is a SafeCharge brand