Onlineshop Website?
Hallo, wir machen in der Schule ein Klamottenshop mit Website und Datenbank und so. Also mit HTML, CSS und MySQL und so.
Bei der Produktseite wollte ich es machen, dass man verschiedene Farben vom tshirt hat und wenn man auf eine Farbe klickt, dass auch ein anderes Tshirt angezeigt wird und das die Datenbank das auch weiß. Wie mache ich das?
Und gibt es noch mehr Tricks oder Sachen die ich beachten muss?
Bitte alles was ihr wisst schreiben. Dankeschön im Voraus
2 Antworten
Spontan fallen mir zwei Wege ein
- Du lädst alle Bilder vor und wenn der Kunde auf eine Farbe clickt, wird via Javascript das Bild via CSS sichtbar und die anderen Farben unsichtbar. Z.B. über die Bildgröße.
- Du lädst immer das Bild der angeklicken Farbe dynamisch nach. Stichwort Ajax.
Okay und wie ist es wenn ich den Artikel dann in den Warenkorb legen möchte?
Die verschiedenen Farben eines T-Shirts sollten als einzelne Artikel angelegt sein. Das sind dann sogenannte Variantenartikel. Beim Klick auf eine Farbe wird dann ein ganz anderer Artikel geladen - so als würdest Du ganz normal die Seite eines Artikels aufrufen. Damit es für Nutzer freundlich ist, könntest Du das Laden der Artikel-Daten auch mit AJAX realisieren.
So könnte man es machen. Du könntest dann in die Datenbank noch eine Spalte mit Artikelvarianten hinzufügen und dort dann die Artikelnummern der T-Shirt mit anderen Farben rein schreiben. Wenn man dann ein Artikel anklickt, werden einem auch die Varianten gezeigt und durch einen Klick wird einfach die Seite von diesem Artikel mit der hinterlegten Artikelnummer geladen.
Okay und wie ist es wenn ich dann den Artikel in den Warenkorb legen möchte?
Wie @threadi schon gesagt hat, musst du eine Möglichkeit finden, den Warenkorb deiner Shopbesucher*innen zu speichern. Dies kann zum Beispiel (wenn man angemeldet ist) darüber geschehen, dass die Artikelnummern der Artikel im Warenkorb einfach in den entsprechenden Benutzereintrag in die Datenbank geschrieben werden.
Okay also ist in der Datenbank zum beispiel für jede Farbe eine andere Artikelnummer