Hallo zusammen,
hab da mal wieder eine Frage. Und zwar möchte ich auf einer Artikelseite ein Artikellogo einbinden. Das ist für jeden Artikel individuell. Jetzt steh ich aber vor der Frage wie ich das mache ohne im Artikelbackend ein neues Feld anlegen zu müssen. Außerdem ist das Logo unabhängig von den sonstigen Artikelbildern.
Wenn es für jeden Artikel individuell ist und nicht über ein Zusatzfeld realisiert werden soll, wäre vielleicht folgender Ansatz denkbar:
Ablegen eines Bildes per FTP in einem für Oxid zugänglichen Ordner nach dem Namensschema “Artikelnummer.jpg”. Im Template dann ein Bild über ein zusätzliches img-Tag am gewünschten Platz einbinden. Den Namen des Bildes im Template über
[{$product->oxarticles__oxartnum->value}]
holen. Den Pfad zum Bild und die Dateiendung statisch ergänzen. Den Pfad kann man eventuell auch über eine Funktion holen.
Hey, das ist ne richtig gute Idee. Werds gleich mal ausprobieren.
Danke schonmal.
[B]EDIT:[/B] Klappt einwandfrei. Danke nochmal. 
Jetzt hab ich doch nochmal ne Frage. Und zwar gibt es nicht zu jedem Artikel ein Logo, d.h. es sollte nur angezeigt werden wenn denn auch ein bild existiert.
Hab das ganze jetzt mal in ein kleines Modul gepackt und wollte dann einfach file_exists überprüfen. Klappt aber nicht und ich hab keine ahnung warum:
Modul Code:
public function getLogoPath(){
$myConfig = $this->getConfig();
$imagepath = $myConfig->getOutUrl();
$imagepath .= 'products/'.$this->oxarticles__oxartnum->value.'/'.$this->oxarticles__oxartnum->value.'_logo.png';
if(!file_exists($imagepath)){
return false;
} else {
return $imagepath;
}
}
und mein tpl code
[{ if $product->getLogoPath()}]
<div class="logo"><img src="[{$product->getLogoPath()}]" alt="Logo" /></div>
[{/if}]
Ok den fehler gefunden. Die file_exists Funktion funktioniert nicht über URLs sondern nur relative Pfade. Somit hab ichs jetzt hinbekommen 