Buscar..


Introducción

Podemos utilizar la biblioteca de carritos de compras de CI cuando estamos construyendo un sitio de comercio electrónico. podemos configurar agregar al carrito, actualizar artículos del carrito, eliminar elementos del carrito e incluso borrar las funciones del carrito utilizando esta biblioteca.

Desde CodeIgniter Doc: La clase de carro permite agregar elementos a una sesión que permanece activa mientras un usuario navega por su sitio. Estos artículos se pueden recuperar y mostrar en un formato estándar de "carrito de compras", lo que permite al usuario actualizar la cantidad o eliminar artículos del carrito.

Agregar artículos en el carrito

Debe crear funciones en un controlador como insertar, actualizar, eliminar y borrar carro, etc. Por ejemplo: para insertar un nuevo artículo en el carrito, escriba debajo del código que acepte valor.

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

Y cree funciones en el modelo para tareas de carrito como insertar, actualizar, eliminar, borrar, etc.

Ej .: para insertar artículos en el carrito

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

El método insert () devolverá el $ rowid si inserta con éxito un solo elemento. para que pueda verificar que el elemento se haya insertado o no y mostrar un mensaje relacionado al usuario.

y puede insertar varios elementos como este

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

Elementos básicos de la cesta de compras de CI

Como podemos agregar varios elementos en la matriz del Carro y luego agregarlo a la sesión del carro, pero hay 4 elementos básicos que la clase del Cart requiere para agregar datos con éxito en la sesión del carro.

  1. id (cadena)
  2. cantidad (número)
  3. precio (número, decimal)
  4. nombre (String)

Y si desea agregar más opciones con respecto al producto, puede usar el quinto elemento, que es "opciones". Puedes configurar un conjunto de opciones en este elemento.

Se verá así:

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

Mostrar artículos de carrito

Puede mostrar los artículos del carrito en bucle a través del carrito o puede mostrar un solo artículo desde el carrito.

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

Esto devolverá una matriz de elementos del carrito para que pueda recorrer esta matriz utilizando el bucle 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>";
  }

Puede formatear estos datos como celda de tabla o algún div y luego mostrarlos en la vista.

Actualizar artículo de carrito

Rowid: el ID de fila es un identificador único generado por el código del carrito cuando se agrega un artículo al carrito. La razón por la que se crea una ID única es para que el carrito pueda gestionar productos idénticos con diferentes opciones.

Cada artículo en el carrito tiene un elemento rowid y por rowid puede actualizar el artículo del carrito.

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

y luego debajo del código

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

Eliminar artículos del carrito

Al utilizar el elemento rowid, puede eliminar un artículo del carrito. solo tienes que poner la cantidad del artículo a 0

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

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

esto eliminará el elemento con este rowid.



Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow