Suche…


Einführung

Wir können die Warenkorb-Bibliothek von CI nutzen, wenn wir eine E-Commerce-Site erstellen. Wir können den Warenkorb in den Warenkorb laden, Artikel aktualisieren, Artikel löschen und sogar die Warenkorbfunktionen mit dieser Bibliothek löschen.

Aus CodeIgniter Doc: Mit der Cart-Klasse können Elemente zu einer Sitzung hinzugefügt werden, die aktiv bleibt, während ein Benutzer Ihre Website durchsucht. Diese Artikel können abgerufen und in einem Standard-Warenkorbformat angezeigt werden, sodass der Benutzer die Menge aktualisieren oder Artikel aus dem Warenkorb entfernen kann.

Artikel im Warenkorb hinzufügen

Sie sollten Funktionen in einem Controller erstellen, z. B. Einfügen, Aktualisieren, Löschen und Löschen des Einkaufswagens.

$cartItem = array(
'id'      => 'MOTOG5',
'qty'     => 5,
'price'   => 100.99,
'name'    => 'Motorola Moto G5 - 16 GB',
'options' => array(
                'ram' => '3GB',
                'Color' => 'Fine Gold'
             )
);

Erstellen Sie Funktionen in model für Einkaufswagenaufgaben wie Einfügen, Aktualisieren, Löschen, Löschen usw.

zB: zum Einfügen von Artikeln in den Warenkorb

$this->cart->insert($cartItem);

Die Methode insert () gibt die $ rowid zurück, wenn Sie ein einzelnes Element erfolgreich eingefügt haben. So können Sie überprüfen, ob das Element eingefügt wurde oder nicht, und dem Benutzer die entsprechende Nachricht anzeigen.

und Sie können mehrere Elemente wie folgt einfügen

$data = array(
    array(
            'id'      => 'sku_123ABC',
            'qty'     => 1,
            'price'   => 39.95,
            'name'    => 'T-Shirt',
            'options' => array('Size' => 'L', 'Color' => 'Red')
    ),
    array(
            'id'      => 'sku_567ZYX',
            'qty'     => 1,
            'price'   => 9.95,
            'name'    => 'Coffee Mug'
    ),
    array(
            'id'      => 'sku_965QRS',
            'qty'     => 1,
            'price'   => 29.95,
            'name'    => 'Shot Glass'
    )
);

$this->cart->insert($data);

Grundelemente des CI-Warenkorbs

Da wir mehrere Elemente im Cart-Array hinzufügen und dann in die Cart-Session einfügen können, gibt es vier grundlegende Elemente, die die Cart-Klasse benötigt, um Daten erfolgreich in der Cart-Session hinzuzufügen.

  1. id (string)
  2. Anzahl (Anzahl)
  3. Preis (Anzahl, Dezimalzahl)
  4. Name (String)

Und wenn Sie weitere Optionen zum Produkt hinzufügen möchten, können Sie das fünfte Element verwenden, das "Optionen" ist. Sie können ein Array von Optionen in diesem Element festlegen.

Es wird so aussehen:

$cartItem = array(
    'id'      => 'MOTOG5',
    'qty'     => 5,
    'price'   => 100.99,
    'name'    => 'Motorola Moto G5 - 16 GB',
    'options' => array(
                    'ram' => '3GB',
                    'Color' => 'Fine Gold'
                 )
);

Warenkorb-Artikel anzeigen

Sie können die Artikel des Warenkorbs in einer Schleife durch den Warenkorb anzeigen oder einzelne Artikel aus dem Warenkorb anzeigen.

$cartContents = $this->cart->contents();

Dadurch wird ein Array von Einkaufswagenelementen zurückgegeben, sodass Sie dieses Feld mithilfe der Foreach-Schleife durchlaufen können.

 foreach ($cartContents as $items){
     echo "ID : ". $items["id"] . "<br>";
     echo "Name : ". $items["name"] . "<br>";
     echo "Quantity : ". $items["qty"] . "<br>";
     echo "Price : ". $items["price"] . "<br>";
  }

Sie können diese Daten als Tabellenzelle oder als div formatieren und dann in der Ansicht anzeigen.

Warenkorbposition aktualisieren

Zeilen-ID: Die Zeilen-ID ist eine eindeutige Kennung, die vom Warenkorbcode generiert wird, wenn ein Artikel zum Warenkorb hinzugefügt wird. Der Grund für das Erstellen einer eindeutigen ID besteht darin, dass identische Produkte mit unterschiedlichen Optionen vom Einkaufswagen verwaltet werden können.

Jeder Artikel im Einkaufswagen enthält ein Element mit der Zeilen-ID. Mit der Zeilen-ID können Sie den Warenkorb-Artikel aktualisieren.

$updateItem = array(
    'rowid' => 'b99ccdf16028f015540f341130b6d8ec',
    'qty'   => 3
);

und dann unter dem Code

$this->cart->update($data);

Warenkorbartikel löschen

Mit dem Element rowid können Sie einen Artikel aus dem Warenkorb löschen. Sie müssen nur die Menge des Artikels auf 0 setzen

$deleteItem = array(
    'rowid' => 'b99ccdf16028f015540f341130b6d8ec',
    'qty'   => 0
);

$this->cart->update($data);

Dadurch wird das Element mit dieser Zeilen-ID gelöscht.



Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow