Skip the setup. Our team will have you taking orders in 24 hours. Get started →
Version notice: This documentation is for version 3, but the latest available version is version 4.
Extensions

Cart Extension

Introduction Features Installation Admin Panel Components CartBox Component Checkout Component Registering a new Cart Condition Automations Events Condit...

TastyIgniter Cart extension is simple, flexible shopping cart.

  • Stock control
  • Cart conditions: Tip, 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

To install this extension, click on the Add to Site button on the TastyIgniter marketplace item page or search for Igniter.Cart in Admin System > Updates > Browse Extensions

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 | | OrderPage | @component('orderPage') | Displays a single order on the page | | Orders | @component('orders') | Displays a list of orders on the page |

Properties

| Property | Description | Example Value | Default Value | | ------------------------ | ------------------------ | ------------- | ------------- | | showCartItemThumb | Show cart menu item image in the popup | true/false | false | | cartItemThumbWidth | Cart item image width | 720 | 720 | | cartItemThumbHeight | Cart item image height | 300 | 300 | | 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 | | hideZeroOptionPrices | Whether to hide zero prices on options | true/false | false | | checkoutPage | Checkout page path | checkout/checkout | checkout/checkout | | localBoxAlias | Specify the LocalBox component alias used to refresh the localbox after the order type is changed | localBox | localBox |

Variables available in templates

| Variable | Description | | ------------------------- | ------------------------------------------------------------ | | {{ $cart }} | Cart Class instance |

Example:


---

title: 'Checkout'
permalink: /checkout

'[cartBox]':
    cartBoxTimeFormat: 'ddd hh:mm a'
    checkStockCheckout: 0
    pageIsCheckout: 0
    pageIsCart: 0
    checkoutPage: checkout/checkout

---

...
@component('cartBox')
...

Properties

| Property | Description | Example Value | Default Value | | ------------------------ | ------------------------ | ------------- | ------------- | | showCountryField | Show/hide the country checkout field | true/false | false | | showAddress2Field | Show/hide the address 2 checkout field | true/false | true | | showCityField | Show/hide the city checkout field | true/false | true | | showStateField | Show/hide the state checkout field | true/false | true | | 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 | | ------------------------- | ------------------------------------------------------------ | | {{ $order }} | Order Model instance | | {{ $paymentGateways }} | Instances of available payment gateways |

Example:


---

title: 'Checkout'
permalink: /checkout

'[checkout]':
    showCountryField: 0
    showAddress2Field: 1
    showCityField: 1
    showStateField: 1
    menusPage: local/menus
    redirectPage: checkout/checkout
    successPage: checkout/success
    successParamCode: 'hash'

---

...
@component('checkout')
...

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

public function registerCartConditions()
{
    return [
        \Igniter\Local\CartConditions\Tip::class => [
            'name' => 'tip',
            'label' => 'Tip',
            'description' => 'Applies tips to cart total',
        ]
    ];
}
  • 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) {
    // ...
});

Did this answer your question?

Your feedback helps us improve our help articles.

Need more help?

Explore the help center, join the community, or get priority support from the TastyIgniter team.