Variablen an Template übergeben

Liebes Forum :slight_smile: :slight_smile: wie kann ich möglichst einfach einem Template weitere Variablen aus der Datenbank übergeben? Ein bisschen php kann ich, weiß aber nicht, wo ich anfangen soll. Wenn eine Erklärung hier zu aufwendig ist, gibt es vielleicht ein geeignetes shopware Tutorial? Was ich vorhabe: Ich möchte bei Variantenartikeln gerne Bilder für die Optionen haben, die man anklicken kann und dann die Variante als Bild zu sehen ist. Zum Beispiel bei Dosen in grün, gelb und rot, sollen kleine Bildchen in diesen Farben angezeigt werden und wenn man auf gelb klickt, wird die gelbe Dose angezeigt u.s.w. Um den Aufwand zu reduzieren, reicht es (zumindest im ersten Schritt), wenn ich diese Bilder direkt in die Datenbank einpflege und nicht über das Backend. Die Backendprogrammierung lasse ich erst einmal aussen vor. Und als ersten Schritt wollte ich eben neue Variablen mit den Bilddatenn im Template zur Verfügung stellen. Oder geht man da anders vor? Liebe Grüße Kerstin

Hallo, wenn ich es richtig verstehe, ist das Ziel die Variantenauswahl anders zu gestalten. Ist es dann nicht einfacher das Template anzupassen, also die frontend/detail/config_upprice.tpl bei emotion z.B.? Ich Würde die Bilder dort z.B. via „optionID“ zuordnen und damit lediglich das Formular neu gestalten.

Vielleicht ist es das was Du meinst und hilft Dir schon weiter??Bildmapping

Hallo :slight_smile: und vielen Dank für die Antworten. [quote]Ich würde die Bilder dort z.B. via “optionID” zuordnen und damit lediglich das Formular neu gestalten.[/quote] Genau das ist meine Frage. Ich würde in der Datenbank gerne den optionID Bilder zuordnen. Wie kann ich die dann im Template verwenden? @artep Bildmapping hängt damit natürlich zusammen. Aber, was ich möchte ist, die Optionen nicht als Popup darzustellen, sondern - im Beispiel der Sneakers - die Farben als Optionsbilder, also beige und rot. Liebe Grüße Kerstin

Gibt es einen bestimmten Grund das die Bilder in der DB stehen sollen? Wenn es kein PlugIn werden soll, würde ich diese eher in eine css packen oder im Notfall in das Template. Die css-Eigenschaft kann man dann aus der id erstellen, also z.B.: {$css = "meine\_optionen\_"|cat:$configValue.optionID} In deiner css definierst du dann etwas für “meine_optionen_1”, "meine_optionen_… Ausgehend von der foreach in der frontend/detail/config_upprice.tpl. So kann man den optionen vom select z.B. Hintergrundbilder zuordnen. Sollt das select ganz durch Bilder ersetzt werden, wirst du sicher auf ein “hidden Field” und JS zurückgreifen. Oder einfach das select verstecken und per Klick auf die Bilder den “value” ändern…

danke, ist eine interessante Möglichkeit, vielleicht gehe ich sogar in diese Richtung. Würde aber gerne wissen, wie man Datenbankvariablen in ein Template bekommt. Weiß jemand, wie das geht?

Du schreibst dafür ein Plugin. Das Anlegen von zusätzlichen Attributen ist hier beschrieben: createAttributes und dann musst du die Abfrage der Varianten dementsprechend ändern, durch ein Hook z.B…

ok, danke. Allerdings wollte ich ja gerade das Backend auslassen und nur eine Variable für das Frontend Template übergeben. Weiß jemand wie das geht? Liebe Grüße Kerstin

Das Backend Beispiel war nur für das DB-Erweitern gedacht. Ansonsten ist es das gleiche Prinzip, hier ein Frontendbeispiel: Frontendbeispiel. Deine Variable wird durch das $view->assign mittels smarty im template verfügbar gemacht.