The shopping circuit is one of the most complex in the store due to all the important functions performed here. Like other circuits, you have a number of custom tags available as well as an extensive admin area.
shopping.order – This is the fuseaction called to add items to the shopping cart. It requires the Product ID for the item being ordered. An optional addon text string can also be passed. After this fuseaction runs, it redirects to either the shopping basket, or back to the store page.
shopping.basket – This fuseaction will display the customer’s shopping cart. You can also perform a number of actions on the shopping cart using the ‘action=’ parameter.
action=recalculate – recalculate the shopping cart.
action=clear – clear the shopping cart
action=keep shopping – returns the user to the store page they were on previously
action=checkout – begins the checkout process
shopping.wishlist – View, edit and add to the wishlist. The customer will be required to log in when viewing this page.
shopping.quickorder – This pages provides a “quick order” form where the user can enter the catalog numbers (SKUs) and quantity for the products they wish to order on a single page. Please note that this does not use options or addons so cannot be used if you require these on your products.
shopping.giftwrap – This fuseaction is used for adding giftwrap to an item (or removing it). It presents the user a list of giftwraps to choose from and links the selected one to the item in the shopping cart.
shopping.basketstats – this is a custom tag you can use in your layouts to display a short summary of the basket totals (items and order total). You can pass a style sheet class to use when displaying it.
shopping.tracking – Used with automated shippers, this will run tracking API calls and display the tracking information for all the shipments on an order. The customer enters their order number and zip/postal code to retrieve the tracking information.
shopping.history - Lists the user's order history and allows users to track the status of their order. A link to Order History is provided on the My Account page. Passing a specific order number to this fuseaction will display that order’s invoice. You can also pass a specific user ID to the tag to view any user’s history (for administrators).
shopping.clear – Used to clear the shopping cart. Returns the user to the page they were on previously. Requires the parameter ‘clear=yes’ to be completed.
shopping.discountmess – This is a custom tag used to display discount messages. It requires the discount type (store, product or category) and for product or category discounts, the ID for the item. You can also pass a style to use when displaying the message. You can use this tag in layouts to display storewide discounts; it is also used by the orderbox tag to display product discounts.
shopping.checkout – This is the main fuseaction that performs the entire checkout process. It is run by the do_checkout.cfm page in the shopping\checkout directory. As mentioned in the introduction to this section, this page works somewhat differently than most. It is divided into two main sections, the process and the display. The variable ‘step’ is used to determine where the customer is in each section and is changed in the process area as necessary to display the correct page. Thus, the ‘step’ you see on the URL may not be the step that is displayed on the page. The various steps in the process include:
empty – Shows an error message if a empty shopping cart is found
terms – Displays the terms of purchase for the site, if used
address – Display the customer address form(s)
register – If user is not logged in, provides them an opportunity to register. Registration can be required with a store setting and for downloads and membership purchases, is always required.
shipping – Displays the shipping options and entry form for additional order information such as gift card, coupons, and delivery date
payment – Final order review and payment information
receipt – Displays the order invoice when the order has been placed and saved.
shopping.giftregistry – The gift registry function allows uses to create a list of products to share with friends and family. The functions for the gift registry are called from the giftregistry\index.cfm file under the shopping circuit, similar to the admin functions. Calling this fuseaction directly will display the search form for registries, and links to create and edit registries. The variable ‘do’ is used for public actions, and ‘manage’ for editing functions. These include:
do=results – Displays the list of gift registries from a search
do=display – Show the registry and items on its list
do=cart – Adds a gift registry item to the shopping cart
manage=list – Displays a user’s current gift registries
manage=add/edit/act – Add and edit a gift registry (main info)
manage=additem – Adds a product from the store to the user’s gift registry
manage=additems – Moves a user’s entire shopping cart to their gift registry
manage=items/actitems – View the items in the gift registry and modify quantities needed or delete items
manage=print – View and print the registry
manage=notify – Email the registry link to friends
shopping.affiliate - Affiliate functionality allows users to sign up as a store affiliate and earn commission on sales that come from users who are referred by them from their web site. The functions for affiliates are called from the affiliate\index.cfm file under the shopping circuit, similar to the admin functions. The variable ‘do’ is used to determine the action to take. These include:
do=register – Allows the user to sign up as a new affiliate
do=report – Displays the reports of affiliate sales
do=links – Shows the information on how to create affiliate links
shopping.admin – The shopping.admin fuseaction controls all the shopping and order related settings and functions. Like the products admin function, the shopping\admin\index.cfm page will check for which additional parameters are being passed and the values of them to determine the action to perform. There’s a lot of stuff in here, so let’s go through it carefully.
shopping.admin&taxes= This section controls all the tax codes and related taxes for your store. Actions available include:
i. codes,editcode – display and update the tax codes
ii. local – display and edit local tax rates
iii. state – display and edit state tax rates
iv. county – display and edit county tax rates
v. country – display and edit country tax rates
shopping.admin&order= This section controls all the order management and fulfillment processes. The actions available include the following:
display – used to display the order details screen. Requires a valid Order Number to display. This section is also responsible for performing all the additional order editing functions, according to forms submitted to it, such as updating the order and shipping status or modifying the basket.
print – displays the order invoice in a separate window for printing. Requires a valid Order number to print.
pending – displays the list of pending orders and runs the batch process for them
print – displays the purchase order in a separate window suitable for printing. Requires a valid PO number.
add – creates the purchase order. This function is called manually when the admin creates drop-shipping information in the shopping cart, or automatically in the store according to the drop-shipping settings.