WebMart Basket mit PHP in einem IFrame laden

16.10 2009
0

WebMart bietet zwei verschiedene Shop-Systeme an.

Der WebMart Shop ist ein komplettes Shop-System mit Layout, Produktdarstellung, Warenkorbfunktion. Sie beschreiben Ihre Produkte ausführlich mit Titel, Beschreibung, Bildern usw. Die Darstellung übernimmt der WebMart Shop.

Der WebMart Basket hingegen beinhaltet nur das Warenkorb-System. Für die Produktpräsentation kümmern Sie sich selbst in Ihren eigenen HTML-Dateien. Erst mit dem Button “Produkt in den Warenkorb legen” springt Ihr Kunde zu WebMart.

Der Basket (also die komplette Warenkorbfunktion) lässt sich auch über einen iFrame in Ihre Seite integrieren. So bekommt Ihr Kunde nicht mit, dass er sich nun auf einem anderen “System” befindet.

Dazu ist es nötig, dass eine Scriptsprache auf Ihrem Webserver läuft. Unser Beispiel zeigt die Einbindung des WebMart Baskets in einen iFrame via PHP.

Es sind dazu zwei Dateien nötig:

1. produkte.html

In der Datei findet die Darstellung der Produkte statt. Jedes Produkt erhält einen Link “In den Warenkorb”:

<a href="http://www.ihre-seite.de/warenkorb.php?pid=123456">In den Warenkorb</a>

Ändern Sie nun folgendes im href-Parameter:

  1. URL zur warenkorb.php
    Diese lautet im Beispiel http://www.ihre-seite.de/warenkorb.php
  2. ProduktID
    Diese lautet im Beispiel 123456. Die IDs Ihrer Produkte erhalten Sie in der WebMart Basket Produkt-Verwaltung. Editieren Sie das jeweilige Produkt, die ID finden Sie ganz unten.

2. warenkorb.php

Die Datei beinhaltet den iFrame, in der der WebMart Basket geladen wird. Der “normale” Warenkorb-Aufruf (also ohne ein Produkt neu hineinzulegen) schaut dann folgendermaßen aus:

<iframe
  src="https://www.webmart.de/shop/checkout/?id=9876"
  frameborder="0"
  width="500"
  height="100%"
  marginheight="0"
  marginwidth="0"
  scrolling="auto">
</iframe>

Bei id=9876 handelt es sich um die WebMart ShopID. Die 9876 muss mit Ihrer ShopID ausgetauscht werden!

In dieser Datei fehlen aber noch einige Angaben. Denn das Formular aus der produkte.html schickt uns die ProduktID, die im Warenkorb abgelegt werden soll, per URL-Variable mit. Unser iFrame muss irgendwie davon erfahren, demnach müssen wir die pid, die unsere warenkorb.php als URL-Variable erhält, an den iFrame weiterleiten.

Das würde - statisch gesehen - so aussehen:

<iframe
  src="https://www.webmart.de/shop/checkout/?id=9876&pid=123456"
  frameborder="0"
  width="800"
  height="100%"
  marginheight="0"
  marginwidth="0"
  scrolling="auto">
</iframe>

Natürlich wollen wir nicht für jedes Produkt einen eigenen iFrame machen! Deshalb gestalten wir das ganze nun etwas dynamischer. Wir bauen uns eine Variable zusammen, die den Zusatz &pid=123456 enhält, wenn es eine PID als URL-Variable gibt.

<?
  // ProduktID (pid) prüfen
  if (isset($_GET['pid'])) {
    $pid_var="&pid=".$_GET['pid'];
  } else {
    $pid_var="";
  }
?>

In unserem Beispiel steht also in $pid_var folgendes: &pid=123456. Wenn es keine URL-Variable pid gibt, ist diese Variable leer.

Das müssen wir jetzt noch in unseren iFrame integrieren.

<iframe
  src="https://www.webmart.de/shop/checkout/?id=9876<? echo $pid_var; ?>"
  frameborder="0"
  width="800"
  height="100%"
  marginheight="0"
  marginwidth="0"
  scrolling="auto">
</iframe>

Fertig. Die URL des iFrames wird also nun dynamisch zusammengesetzt, je nachdem, ob ein Produkt neu abgelegt werden soll, oder nicht. Wenn nur auf den aktuellen Warenkorb verlinkt werden soll, reicht es, auf die warenkorb.php zu verlinken.

Folgen Sie WebMart auf Twitter, um automatisch über Neuigkeiten in diesem Blog informiert zu werden.


Kommentare