Ubercart for All Drupal 6, Ubercart 2 Presented by Gord Christmas [email protected] Sunday, September 12, 2010
Overview• Products and Classes
• Attributes
• Taxes and Shipping
• Triggers and Actions
• Digital downloads
• Stock
• Custom fields
• Hooks and coding
• Additional modules
• Drupal Commerce
Sunday, September 12, 2010
Sunday, September 12, 2010
Products and Classes
• Classes are divisions of products in a logical sense, like a catalog
• Many operations and logic are easier with classes
• Fields and theming of classes are much easier than the default product nodes
Sunday, September 12, 2010
Attributes
• Allow things on a product like Colours, Sizes, Optional add-ons
• Make it much easier to have dynamic products, prices, SKU’s, and reduce the number of products
• Avoid lots of attributes as the combinations and configuration multiply
Sunday, September 12, 2010
Taxes and Shipping• Canadian Taxation done
properly!
• Label your tax rules appropriately for ease of maintenance
• Try to keep taxable/non-taxable products as separate product classes
• Tax reports now in UC2
• Shipping by Flatrate, Weight, UPS/FedEx/Canada Post
• Non-Shippable product?
• Shipping for Province/State/Country/International
• Special Item costs and how to handle them well
Sunday, September 12, 2010
Triggers and Actions• Conditional Actions are
the “Triggers” of Ubercart
• Much like rules, but not...
• ADS Charge and how I solved it
• User Points and Ubercart Userpoints
• Special products that need followup
• Role assignment and expiry
• Order/Product discounts (uc_discount)
Sunday, September 12, 2010
Digital Downloads
• Nifty way of handling digital assets
• Allows for expiring, limited download type of products
• Can have more than one file attached as a DD to a product
• Can also have same DD attached to more than one product
Sunday, September 12, 2010
Sunday, September 12, 2010
Stock• UC2 now has rules that
decrement stock
• Incrementing not in place, usually handled manually, but a rule can work
• No built in cart protection for out of stock items
• Will allow negative stock, feature?
• Works well with attributed products and combinations
• Contrib modules for extending it
http://www.ubercart.org/docs/user/5181/out_stock_solutions
Sunday, September 12, 2010
Custom Fields• Use node references for
related products
• Use textfields etc, in tandem with UC Node Checkout module
• Administrative fields for stock, special ordering text
• Tie Event nodes to products for tickets, display in the Event with a View
• Use CCK fields with conditions to apply discounts or alter payment options
• Coding limits are few
Sunday, September 12, 2010
Hooks and Coding
• The source http://www.ubercart.org/docs/api
• hook_add_to_cart is perfect for controlling what goes in, or notifying customers about conditions or relevant information, can’t change the data here
• The function uc_cart_add_item can be used to programatically add items within your module, very powerful especially when driven by a custom form
• Undocumented hook_add_to_cart_data, allows you to inject any data you need to later calculate custom prices, event info or anything else custom. Essential as once the product is in the cart it is no longer referenced via node api calls. The data in the cart is in it’s own domain.
Sunday, September 12, 2010
Additional Modules
• UC Addresses http://drupal.org/project/uc_addresses
• UC Coupons http://drupal.org/project/uc_coupon
• UC Discount http://drupal.org/project/uc_discount
• UC Node Checkout http://drupal.org/project/uc_node_checkout
• UC Purchase Order http://drupal.org/project/uc_po
• UC Conditional Payment http://drupal.org/project/uc_conditional_payment
Sunday, September 12, 2010
Drupal Commerce
• http://www.drupalcommerce.org
• http://drupal.org/project/commerce
• Totally new system written from the ground up
• Uses the sexy Field API for all product attributes
• Conditional Actions is no more, uses built in Rules now YAY!
• Demo site http://demo.commerceguys.com/dc/
Sunday, September 12, 2010
One more thing!
Sunday, September 12, 2010
One more thing!
• http://video.google.com/videoplay?docid=1882664901133929840#
Sunday, September 12, 2010