Hallo zusammen,
ich beschäftige mich erst seit etwas mehr als 2 Wochen mit shopware, muss aber nun eine wie ich finde knifflige Angelegenheit lösen.
Und zwar geht es um individualisierbare Artikel, die im Shop von Drittanbietern angeboten werden sollen. Der Konfigurator dafür liegt auf einem dafür vorgesehenen Server und diesen habe ich durch eine template-Änderung der Artikeldetailansicht als iframe auch eingebaut bekommen. Die entsprechende Adresse, die im iframe geladen werden soll und ja bei jedem Artikel unterschiedlich ist, habe ich im Freitextfeld 1 des jeweiligen Artikels hinterlegt. Das Freitextfeld wird dann im Frontend nicht mehr angezeigt, da ich den entsprechenden Abschnitt aus dem Artikeldetailanischttemplate auskommentiert habe. Funktioniert alles soweit.
Aber wenn der Kunde nun auf “Add to cart” im iframe klickt geht die Komplizierung los. Der konfigurierte Artikel wird an den oben genannten Server gesandt, dort wird ein image des Artikels erstellt und an meinen shop per callback zurückgesandt. Wie und wo kann ich das nun auffangen und die Anzeige dementsprechend aktualisieren? Also als callback url das Artikeldetailansichttemplate angeben und diesem die Daten übergeben? Stehe da auf dem Schlauch…
Also, ich versuche nun seit Stunden den größten pille palle, nämlich testweise erstmal Variablen an das Template über die url zu übergeben, aber egal wie ich es mache, ich bekomme die Daten nicht von php in smarty übertragen. Finde dazu viele Erklärungen im Netz, aber die beziehen sich alle auf SW4 oder niedriger.
Ich habe einfach eine smarty-Funktion geschrieben:
";
$output .= "printJobRef:".$printJobRef."";
$output .= "thumburl:".$thumburl."";
$output .="";
return $output;
}
?>
Die Funktion habe ich in meinem theme hier gespeichert: _private\smarty\
printJobRef und thumburl werden simpel über die url übergeben. In php hätte ich das Problem in 1 Minute gelöst, aber wie gesagt ich bekomme die Variablen nicht in $smarty übertragen.
Rufe die Funktion im template dann so auf:
{get_variables($printJobRef, $thumburl)}
Ergebnis: Fehlerneldung, die Seite wird überhaupt nicht mehr angezeigt.
Kann mir bei diesem „Problem“ vielleicht jemand weiterhelfen?
Okay, das mit der Funktion habe ich erstmal wieder aufgegeben, denn egal wo ich sie ablege, egal wie ich sie nenne. Ich bekomme immer die Fehlermeldung, dass die Funktion nicht bekannt ist.
Also versuche ich es doch wieder direkt im template:
{assign var="printJobRef" value=$printJobRef}
{assign var="thumburl" value=$thumburl}
{print_r($printJobRef)}
{print_r($thumburl)}
Immerhin bekomme ich nun schonmal keine Fehlermeldung mehr, aber die Ausgabe von 1 1 hat mal gar nichts mit dem zu tun was ich über den Link übergebe.
Schade, dass mir da niemand helfen kann. Ich glaube ich gebe es dann auf. Sitze nun schon über 2 Tage daran, 2 Variablen auf dem simpelsten Weg auszugeben. Alle Anleitungen dazu sind so nicht umsetzbar, die meisten leider veraltet mit mittlerweile als deprecated geltenden Elementen und ein Plugin oder eine Funktion bekomme ich einfach nicht integriert.