I was reading a post the other day about a shopping cart module that got me thinking. I am going to write a central "cart" module that will store a temporary list of products ready to purchase. This would be an glue module. To the left would be the actual shop interface. And too the right would be the shipping and payment gateways.
The idea being that any module that wanted a cart would set up a series of API function (as a "cart" type) - getprice, getdescription, etc..
The cart module would accept an add function which included the module add that product and a reference. Passing that reference back to the shop.cart.getdescription/getprice API would return prices and descriptions, etc... as relevant for that module. So you could have in a cart items from a shop, gallery photos for sale and membership costs.
The shipping and payment modules could be written independently and installed like normal modules. They would be accessed by the cart module for checkout. After the "order" was recorded, the "shop.cart.oncomplete" API would be called for each product so that it could be back actioned.
Later, this could be extended with hooks for Tax, Currency, etc....
Using this technique, any module could be made into a ecommerce site by adding a buy now button - this could be a plugin?
Comments?
Watch
GitHub Core
Show your support for Zikula! Sign up at Github account and watch the Core project!
GitHub Modules
- rgasch created topic »Using PageUtil::addVar() to load script code« 11:48 AM
- michiel responded to »password problem« 10:01 AM
- mazdev responded to »Hide "Register new account" and change template to 3 col« 07:50 AM
- mesteele101 created topic »Zikula 1.3.3 - Site Search 1.5.2 - Unable to turn off plug-ins« 07:48 AM
- mesteele101 responded to »ERR (3): E_USER_ERROR: Smarty error: [in pagesvar:pagesitem2en line XXX]…« 25. May
- mazdev responded to »Pages 2.5.0 and updating - Page not found« 25. May
- mesteele101 responded to »Zikula 1.3.3 - Selecting a category in Pages not working« 25. May
Zikula Blog
- Anatomy of Open Source Projects on Mar 07
- Continuous Review on Mar 01
- Not Invented Here on Feb 24
- How to Contribute Your Code at Github on Jan 13
- 10 Steps to Coding-Nirvana: Tips for Successful Module Writing on Nov 12
- Submitting Bug Report Tickets That Get Results on Aug 17
- Cozi Tricks #1: Syntax Highlighting on Aug 07
Login
CART Functionality
-
- Rank: Registered User
- Registered: Apr 02, 2002
- Last visit: Dec 13, 2009
- Posts: 32
-
- Rank: Helper
- Registered: Dec 31, 1969
- Last visit: May 07, 2010
- Posts: 507
geoff
Using this technique, any module could be made into a ecommerce site by adding a buy now button - this could be a plugin?
Comments?
Maybe as a hook that could attached to any page... -
- Rank: Developer
- Registered: Jun 16, 2003
- Last visit: May 29, 2010
- Posts: 1966
I love the ideas you are putting out in the last few days. If you can implement them, you'll be a rockstar of the highest caliber. ROCK ON!
- Moderated by:
- Support
