Szukaj…


Wprowadzenie

Możemy korzystać z biblioteki koszyka zakupów CI, gdy budujemy witrynę handlu elektronicznego. możemy skonfigurować dodawanie do koszyka, aktualizowanie elementów koszyka, usuwanie elementów koszyka, a nawet czyszczenie funkcji koszyka za pomocą tej biblioteki.

Z CodeIgniter Doc: Klasa koszyka pozwala na dodawanie przedmiotów do sesji, która pozostaje aktywna podczas przeglądania witryny przez użytkownika. Elementy te można pobrać i wyświetlić w standardowym formacie „koszyka”, co pozwala użytkownikowi zaktualizować ilość lub usunąć produkty z koszyka.

Dodawanie przedmiotów w koszyku

Powinieneś utworzyć funkcje w kontrolerze, takie jak wstawianie, aktualizowanie, usuwanie i czyszczenie koszyka itp. Np .: w celu wstawienia nowego elementu do koszyka napisz poniżej kod, który przyjmuje wartość.

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

I twórz w modelu funkcje dla zadań koszyka, takich jak wstawianie, aktualizacja, usuwanie, czyszczenie itp.

np .: do wstawiania produktów do koszyka

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

Metoda insert () zwróci $ rowid, jeśli pomyślnie wstawisz pojedynczy element. dzięki czemu możesz sprawdzić, czy element został wstawiony, czy nie i pokazać użytkownikowi powiązaną wiadomość.

i możesz wstawić wiele takich elementów

$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);

Podstawowe elementy koszyka zakupów CI

Ponieważ możemy dodać wiele elementów do tablicy Cart, a następnie dodać je do sesji koszyka, ale istnieją 4 podstawowe elementy, których klasa Cart wymaga do pomyślnego dodania danych w sesji koszyka.

  1. id (ciąg)
  2. ilość (liczba)
  3. cena (liczba dziesiętna)
  4. nazwa (ciąg)

A jeśli chcesz dodać więcej opcji dotyczących produktu, możesz użyć piątego elementu, którym są „opcje”. w tym elemencie możesz ustawić tablicę opcji.

Będzie to wyglądać tak:

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

Wyświetl przedmioty w koszyku

Możesz wyświetlać przedmioty z wózka w pętli lub z jednego koszyka z koszyka.

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

Spowoduje to zwrócenie tablicy elementów koszyka, aby można było przechodzić przez tę tablicę za pomocą pętli foreach.

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

Możesz sformatować te dane jako komórkę tabeli lub div, a następnie wyświetlić w widoku.

Zaktualizuj element koszyka

Rowid: identyfikator wiersza jest unikalnym identyfikatorem generowanym przez kod koszyka, gdy element jest dodawany do koszyka. Powodem utworzenia unikalnego identyfikatora jest zarządzanie identycznymi produktami o różnych opcjach.

Każdy element w koszyku ma element rowid, a przez rowid możesz aktualizować element koszyka.

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

a następnie poniżej kodu

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

Usuń elementy koszyka

Za pomocą elementu rowid możesz usunąć element z koszyka. musisz tylko ustawić ilość elementu na 0

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

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

spowoduje to usunięcie elementu o tym wierszu.



Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow