NAME
   Dancer::Plugin::Interchange6 - Interchange6 Shop Plugin for Dancer

VERSION
   Version 0.006

REQUIREMENTS
   All Interchange6 Dancer applications need to use the
   Dancer::Session::DBIC engine:

       session: DBIC

   The easiest way to configure this is in your main module, just after all
   the `use' statements:

      set session_options => {schema => schema};

ROUTES
   You can use the Dancer::Plugin::Interchange6::Routes plugin bundled with
   this plugin to setup standard routes for:

   product listing
   product display
   cart display
   checkout form

   To enable these routes, you put the `shop_setup_routes' keyword at the
   end of your main module:

       package MyShop;

       use Dancer ':syntax';
       use Dancer::Plugin::Interchange6;
       use Dancer::Plugin::Interchange6::Routes;

       get '/shop' => sub {
           ...
       };

       ...

       shop_setup_routes;

       true;

   Please refer to Dancer::Plugin::Interchange6::Routes for configuration
   options and further information.

HOOKS
   This plugin installs the following hooks:

 Add to cart
   The functions registered for these hooks receive the cart object and the
   item to be added as parameters.

   before_cart_add_validate
       Triggered before item is validated for adding to the cart.

   before_cart_add
       Triggered before item is added to the cart.

   after_cart_add
       Triggered after item is added to the cart. Used by DBI backend to
       save item to the database.

 Update cart
   The functions registered for these hooks receive the cart object, the
   current item in the cart and the updated item.

   before_cart_update
       Triggered before cart item is updated (changing quantity).

   after_cart_update
       Triggered after cart item is updated (changing quantity). Used by
       DBI backend to update item to the database.

 Remove from cart
   The functions registered for these hooks receive the cart object and the
   item to be added as parameters.

   before_cart_remove_validate
       Triggered before item is validated for removal. Receives cart object
       and item SKU.

   before_cart_remove
       Triggered before item is removed from the cart. Receives cart object
       and item.

   after_cart_remove
       Triggered after item is removed from the cart. Used by DBI backend
       to delete item from the database. Receives cart object and item.

 Clear cart
   before_cart_clear
       Triggered before cart is cleared.

   after_cart_clear
       Triggered after cart is cleared.

 Rename cart
   The functions registered for these hooks receive the cart object, the
   old name and the new name.

   before_cart_rename
       Triggered before cart is renamed.

   after_cart_rename
       Triggered after cart is renamed.

   before_cart_set_users_id
       Triggered before users_id is set for the cart.

   after_cart_set_users_id
       Triggered after users_id is set for the cart.

   before_cart_set_sessions_id
       Triggered before sessions_id is set for the cart.

   after_cart_set_sessions_id
       Triggered after sessions_id is set for the cart.

ACKNOWLEDGEMENTS
   The Dancer developers and community for their great application
   framework and for their quick and competent support.

LICENSE AND COPYRIGHT
   Copyright 2010-2013 Stefan Hornburg (Racke).

   This program is free software; you can redistribute it and/or modify it
   under the terms of either: the GNU General Public License as published
   by the Free Software Foundation; or the Artistic License.

   See http://dev.perl.org/licenses/ for more information.

SEE ALSO
   Interchange6, Interchange6::Schema