PHP code example of kingpabel / shoppingcart

1. Go to this page and download the library: Download kingpabel/shoppingcart library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

kingpabel / shoppingcart example snippets


"    "kingpabel/shoppingcart": "~1.4"
}

 /**
    * Add a row to the cart
    *
    * @param string|array $id   Unique ID of the item|Item formated as array|Array of items
    * @param string       $name Name of the item
    * @param int          $qty Item qty to add to the cart
    * @param float        $price Price of one item
    * @param array        $options Array of additional options, such as 'size' or 'color'
    */
 

// Basic form
Cart::add('293ad', 'Product 1', 1, 9.99, 0.00, array('size' => 'large'));

// Array form
Cart::add(array('id' => '293ad', 'name' => 'Product 1', 'qty' => 1, 'price' => 9.99, 'discount' => 0.00, 'options' => array('size' => 'large')));

// Batch method
Cart::add(array(
  array('id' => '293ad', 'name' => 'Product 1', 'qty' => 1, 'price' => 10.00, 'discount' => 0.00,),
  array('id' => '4832k', 'name' => 'Product 2', 'qty' => 1, 'price' => 10.00,, 'discount' => 0.00, 'options' => array('size' => 'large'))
));

/**
 * Update the quantity of one row of the cart
 *
 * @param  string        $rowId       The rowid of the item you want to update
 * @param  integer|Array $attribute   New quantity of the item|Array of attributes to update
 * @return boolean
 */
 $rowId = 'da39a3ee5e6b4b0d3255bfef95601890afd80709';

Cart::update($rowId, 2);

OR

Cart::update($rowId, array('name' => 'Product 1'));

/**
 * Remove a row from the cart
 *
 * @param  string  $rowId The rowid of the item
 * @return boolean
 */

 $rowId = 'da39a3ee5e6b4b0d3255bfef95601890afd80709';

Cart::remove($rowId);

/**
 * Get a row of the cart by its ID
 *
 * @param  string $rowId The ID of the row to fetch
 * @return CartRowCollection
 */

$rowId = 'da39a3ee5e6b4b0d3255bfef95601890afd80709';

Cart::get($rowId);

/**
 * Get the cart content
 *
 * @return CartCollection
 */

Cart::content();

/**
 * Empty the cart
 *
 * @return boolean
 */

Cart::destroy();

/**
 * Total amount of cart
 *
 * @return float
 */

Cart::total();

/**
 * Sub total amount of cart
 *
 * @return float
 */

Cart::subtotal();

/**
 * Discount of cart
 *
 * @return float
 */

Cart::discount();

/**
 * @param $amount
 * @return bool
 */

Cart::setCustomDiscount(5.00);

/**
 * Custom discount of cart
 *
 * @return float
 */

Cart::customDiscount();

/**
 * Get the number of items in the cart
 *
 * @param  boolean $totalItems Get all the items (when false, will return the number of rows)
 * @return int
 */

 Cart::count();      // Total items
 Cart::count(false); // Total rows

/**
 * Search if the cart has a item
 *
 * @param  Array  $search An array with the item ID and optional options
 * @return Array|boolean
 */

 Cart::search(array('id' => 1, 'options' => array('size' => 'L'))); // Returns an array of rowid(s) of found item(s) or false on failure

Cart::instance('shopping')->add('192ao12', 'Product 1', 1, 9.99);

// Get the content of the 'shopping' cart
Cart::content();

Cart::instance('wishlist')->add('sdjk922', 'Product 2', 1, 19.95, array('size' => 'medium'));

// Get the content of the 'wishlist' cart
Cart::content();

// If you want to get the content of the 'shopping' cart again...
Cart::instance('shopping')->content();

// And the count of the 'wishlist' cart again
Cart::instance('wishlist')->count();

 

/**
 * Let say we have a Product model that has a name and description.
 */

Cart::associate('Product')->add('293ad', 'Product 1', 1, 9.99, array('size' => 'large'));


$content = Cart::content();


foreach($content as $row)
{
	echo 'You have ' . $row->qty . ' items of ' . $row->product->name . ' with description: "' . $row->product->description . '" in your cart.';
}

// Controller

Cart::add('192ao12', 'Product 1', 1, 9.99);
Cart::add('1239ad0', 'Product 2', 2, 5.95, array('size' => 'large'));

// View

<table>
   	<thead>
       	<tr>
           	<th>Product</th>
           	<th>Qty</th>
           	<th>Item Price</th>
           	<th>Subtotal</th>
       	</tr>
   	</thead>

   	<tbody>

   	 foreach($cart as $row) :