Hallo, dies ist ein kleines und simpeles Snippet für das erstellen eines warenkorbes. Für den Warenkorb sollte eine extra php file angelegt werden. In diese kommt dann dieser Code
/**
*
* Löscht den Waren Korb
*/
public function undo_cart()
{
$_SESSION['cart'] = array();
}
/**
*
* Gibt einen Datensatz Zurück
* @param int $point
*/
public function get_cartValue_at_Point($n)
{
$Array = $_SESSION['cart'];
return $Array[$n];
}
/**
*
* Entfernt ein Artikel am Point n
* @param int $point
*/
public function delete_cartValue_at_Point($point)
{
$Array = $_SESSION['cart'];
unset($Array[$point]);
}
/**
*
* Gibt die Anzahl der Artikel zurück
*/
public function get_cart_count()
{
return count($_SESSION['cart']);
}
}
?>
So nun haben wir die Benötigte Klasse des Warenkorbes. Nun müssen wir auf allen Seiten wo der Warenkorb arbeiten soll, in die ersten Zeilen folgendes einfügen.
PHP
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
// Die Session Starten
session_start();
// Die Klasse Includieren
include_once 'pfad zur klasse';
// Eine Neue Instanz der Klasse cart erstellen
$cart = new cart();
// Prüfen ob der Warenkorb besteht
$cart->initial_cart();
Nun kann man über die variable $cart auf die Funktionen des Waren Korbes zugreifen.
An sich für kleine Shops villeicht ganz lustig, aber auch an die Motorik mit der Bezahlmethode gedacht? Wir wird das gemacht bei Lastschrift? Wie erkenne ich die Bank etc. das sind alles Sachen die Magento schon fertig vorinstalliert hat.
Orginal von Htaccess
An sich für kleine Shops villeicht ganz lustig, aber auch an die Motorik mit der Bezahlmethode gedacht? Wir wird das gemacht bei Lastschrift? Wie erkenne ich die Bank etc. das sind alles Sachen die Magento schon fertig vorinstalliert hat.
Natürlich ist das Objekt Orientiert. Es ist auch keine Software, sondern eine Klasse, für einen waren korb. Jede Funktion stellt ein Objekt da, die einfach in den Code eingefügt werden kann und angesprochen werden kann.
Streitet euch nicht jeder hat mal angefangen und mit der Zeit wird immer besser.
Ich muss RoseRed zustimmen ausgaben sollte man in keiner Methode machen. Besser du verwendest dafür Rückgabe Werte.
So kann der Anwender deiner Klasse selber immer entscheiden wann und wo welche Ausgabe gemacht werden soll.
Html Formatierungen haben überhaupt nix in einer Methode zu suchen auch wenn es auf den ersten Blick praktisch scheint. So ist das am ende sehr umständlich zu handhaben und auch nicht für den wiederverwendungszweck geeignet. Wofür ja eben OOP vorgesehen ist.
Post wurde schon 1x editiert, das letzte mal am 21.02.2014 um 11:18 von splasch
Orginal von splasch
Ich muss RoseRed zustimmen ausgaben sollte man in keiner Methode machen. Besser du verwendest dafür Rückgabe Werte.
So kann der Anwender deiner Klasse selber immer entscheiden wann und wo welche Ausgabe gemacht werden soll.
z.B. könnte der Anwender die Ausgabe an deine Response Klasse weitergeben die für die Ausgabe verantwortlich ist
Genau das hab ich gesucht. Das Prinzip ist mir dadurch klar geworden. Warenkorb als Array in der Session temporaer speichern. Mit PHP-Array Funktionen Artikel in den Warenkorb legen bzw. entfernen.
Schliesse mich allerdings den Vorpostern an keine echo Ausgaben in Methoden zu machen, sondern Ergebnisse nur mit return zurueckgeben. Aber das ist Kosmetik. Deine Klasse funzt + erfuellt seinen Zweck.
Magento und xt::Commerce sind komplette Shop Loesungen. Kann man nicht vergleichen. Kann ich auch fuer meine Zwecke nicht gebrauchen. Ich mag es zu verstehen was abgeht und dadurch an allen Ecken und Enden schrauben zu koennen.
moinsen..... ja schon ein paar jahre her..... aber eigentlich genau das was ich brauche....
Aber mit Klassen und Arrays kenne ich mich leider nicht aus....
Ich habe eine mysql DB welche ähnliche DB Spalten hat.
Aber wie kann ich jetzt sagen Sinngemäß:
Select * from produkte where ID = 1 und dann
add to warenkorb!?
Wie wann wo muss ich dieses array erstellen?!
kann ich einfach testweise erstmal ein passendes array erstellen direkt auf einer Seite vonwegen :
$array =(123,456,789)
?!?!
Wie gesagt verstehe das ganze noch nicht ganz so