Cart Created by: Sam Poyigi


Easily add a shopping cart to your site. The most powerful way to sell your menu items.

1 month ago
Sam Poyigi
 Public repository

Views: 545

Support the author with a donation.


Igniter Cart extension is simple, flexible shopping cart. There are some features:

  • Stock control
  • Cart conditions: Coupon, Tax
  • Order types: Delivery, Pick-up
  • Abandoned Checkout
  • Payment method: Cod, Paypal, Stripe
  • One page checkout
  • Easy to extends and customize
  • Sending order confirmation emails

This extension requires the following extensions:

  • Igniter Local
  • Igniter User
  • Igniter PayRegister

Admin Panel

In the admin user interface you can manage the cart conditions.


Name Page variable Description
CartBox <?= component('cartBox') ?> Show the contents of and manages the user's cart
Checkout <?= component('checkout') ?> Displays Checkout form on the page
Orders <?= component('orders') ?> Displays a list of orders on the page

CartBox Component


Property Description Example Value Default Value
cartBoxTimeFormat Time format ddd hh:mm a ddd hh:mm a
checkStockCheckout Check cart item stock quantity true/false false
pageIsCheckout Value to determine if the user is on a checkout page true/false false
pageIsCart Display a standalone cart true/false false
checkoutPage Checkout page path checkout/checkout checkout/checkout

Variables available in templates

Variable Description
$cartBoxTimeFormat Delivery and pick-up time format
$pageIsCart Display the standalone cartbox
$pageIsCheckout CartBox is loaded on the checkout page
$cart Cart Class instance
$location Location Class instance
$locationCurrent Location Model instance


title: 'Checkout'
permalink: /checkout

    cartBoxTimeFormat: 'ddd hh:mm a'
    checkStockCheckout: 0
    pageIsCheckout: 0
    pageIsCart: 0
    checkoutPage: checkout/checkout
<?= component('cartBox') ?>

Checkout Component


Property Description Example Value Default Value
showCountryField Show/hide the country checkout field true/false false
agreeTermsPage Terms and conditions page page/terms
menusPage Menus page page/menus
redirectPage Redirect page name checkout/checkout checkout/checkout
orderPage Order page name account/order account/order
successPage Order confirmation page name checkout/success checkout/success
successParamCode URL routing code used for displaying the order confirmation page hash hash

Variables available in templates

Variable Description
$showCountryField Display the country form field
$agreeTermsPage Link to thenterms & conditions page
$redirectPage Link to the checkout cancel page
$menusPage Link to the menus page
$successPage Link to the confirmation page
$order Order Model instance
$paymentGateways Instances of available payment gateways


title: 'Checkout'
permalink: /checkout

    showCountryField: 0
    menusPage: local/menus
    redirectPage: checkout/checkout
    successPage: checkout/success
    successParamCode: 'hash'
<?= component('checkout') ?>

Registering a new Cart Condition

Here is an example of an extension registering a cart condition .

public function registerCartConditions()
    return [
        \Igniter\Local\Conditions\Tip::class => [
            'name' => 'tip',
            'label' => 'Tip',
            'description' => 'Applies tips to cart total',

Event Rules


  • Order Placed Event
  • Order Status Update Event
  • Order Assigned Event


  • Order Attributes
  • Order Status Attributes


  • Order confirmation notification
  • Order status update notification
  • Order assigned notification


The Cart Library used with this extension will fire some global events that can be useful for interacting with other extensions.

Event Description Parameters
cart.created When cart instance is created.
cart.added When an item has been added to the cart. The CartItem instance
cart.updated When an item has been updated in the cart. The CartItem instance
cart.removed When an item has been removed from the cart. The CartItem instance
cart.cleared When all items has been cleared from the cart.
cart.condition.loaded When a condition has been loaded to the cart. The CartCondition instance
cart.condition.removed When a condition has been removed from the cart. The CartCondition instance
cart.condition.cleared When all condition has been cleared from the cart.
cart.stored When the content of a cart was stored.
cart.restored When the content of a cart was restored.

Example of hooking an event

Event::listen('cart.updated', function($cartItem) {
    // ...


The MIT License (MIT)


  1.   Latest release

    Complete support for localized dates

  2. v2.1.0

    • Minor UI Improvements
    • Fix issue where confirm button doesn’t display on smaller devices
    • Ability to check menu item order type restriction
    • New orderPage component for displaying single order
    • Now sorting payments by priority on checkout form
    • Fix issue where checkout is confirmed after failed stripe payment
    • Fix issue with submitting checkout form on enter when using stripe payment
    • Added support for localized dates
  3. v2.0.1

    Fixed menu out of stock warning when stock qty is 0

  4. v2.0.0-beta.11

    bump version