Extend and customize Drupal functionality with contributed modules. If a module doesn't quite do what you want it to do, if you find a bug or have a suggestion, then join forces and help the module maintainer. Or, share your own by starting a new module.
Drupal Commerce is used to build eCommerce websites and applications of all sizes. At its core it is lean and mean, enforcing strict development standards and leveraging the greatest features of Drupal 7 and major modules like Views and Rules for maximum flexibility.
Whereas eCommerce solutions are often developed with an application mindset, highlighting what you can do with it out of the box, Drupal Commerce was developed with a framework mindset, focusing on what you can build with it. The core Commerce systems make no hard-coded assumptions about your business model, privileging developers and site builders at the core level to build custom eCommerce solutions to suit.
Sponsored by Commerce Guys
The share widget (AddToAny) module by Lockerz helps readers share, bookmark, and email your pages and articles (aka stories) using any service, such as Facebook, Twitter, Google+, StumbleUpon, and over 100 more sharing and social bookmarking sites. Services are updated automatically.
The sharing module comes with a customizable Smart Menu, which places the services visitors use at the top of the menu, based on each visitor's sharing preferences.
Commerce Shipping provides a shipping rate calculation system for Drupal Commerce, integrating shipping service selection into both the checkout form and order edit form. This module is a framework that is meant to be used in conjunction with shipping method modules like Commerce Flat Rate, Commerce UPS, and others.
Shipping service availability and rate calculation is handled in the user interface through Rules and is backed up by an API that gives you a high level of flexibility to implement simple or complex shipping scenarios.
Developers and users of this module should use the new and improved Commerce Shipping 2.x version. Sites created using Commerce Shipping 1.x can find notes on what has changed and how to update in the release notes for the Commerce Shipping 2.0 release.
It also describes some of the Ubercart data tables to views, so you can create your own views, based on these data using the views_ui.
If you have some killer views, not included in this module, please don't be shy - share them with us :-)
- new_products: Block view displaying the most recently added products
- popular_products: Block view displaying the products which has sold the highest quantity
- product_pairs_block: Block view providing 'Users who bought the selected product also bought these' list
- user_products: Block view displaying a list of the products which the user most often end up buying.
- uc_order: Page listing all orders.
- Order management view for bulk operations on uc_orders
The module will install a number of database views, which is needed for some of the default views
that ships with this module. If that is a problem for you, you should keep theese disabled, and remove the database views after installation (the sql to remove the views are found in the .install file).
Installing Ubercart Views
Place the content of this directory in sites/all/modules/uc_views
[x] I agree check box to the registration page.
Provides the backoffice functionality present in Commerce Kickstart v2.
Contains three submodules: commerce_backoffice_product, commerce_backoffice_order, commerce_backoffice_content.
Commerce Backoffice Product
Provides a better experience for stores using nodes as product displays for grouping product variations (commerce_product entities).
- The node/add screen is now split into two tabs, "Create content" (ordinary node types), and "Create product" (product display node types).
- The products view is now a view of nodes, showing product displays. Contains special exposed filters for filtering by product display type, and product display categories.
- Uses the megarow pattern to provide a "Quick Edit" link in the view, that shows all product variations for that product display, right underneath the triggering row. The status and price can be modified directly.
- Modifies the "Content types" screen by adding additional help text for understanding product displays, and adds a column to the table that indicates whether the node type is a product display node type*.
This module allows you to define any number of flat rate shipping services via the user interface in conjunction with Commerce Shipping 2.x. When you define a new flat rate service, you specify the base rate for it in the add / edit form. You can further modify the base rate (enabling things like weight or quantity based shipping) using rate calculation rules.
This is functionally equivalent to using product pricing rules to add discounts or fees to base product prices before adding them to the cart.
Commerce Stock module, for Drupal Commerce.
This module provides stock management for Drupal Commerce stores.
Check out Randy Fay's Stock Screencast
What version of stock should you use?
A simple and robust approach to stock control. Not as configurable and extensible as 2 but easy to configure and works, and most importantly is on full release will not significantly change and will receive priority for maintenance and support.
- Stores stock along side other product information
- Allows for Enabling of stock control for specific product bundles
- Allows for turning off stock control for specific products.
- Will do all in its power to prevent users from purchasing out of stock items.
Designed to be more flexible and extensible and is likely to go through significant changes in the future. It does however provide a stable platform for stock management and if you need the extra flexibility it may be the one for you.
- Uses configurable rules for stock validation
- Uses a sub module system for stock storage – makes it easier to develop integration with external stock systems.
View your visits, orders, revenue, conversion %, AOV (average order value), and RPV (revenue per visit). This information can give you a great summary of your business at a glance.
See how your visitors become customers at 5 critical points in your application. Easily see when visitors leave your site, so that you know what areas of your site to improve. For example, a low percentage of visitors who purchase an item after adding it to the cart may mean that your shipping rates are high, or your checkout template is confusing.
ABANDONED CART INFORMATION
Check out your 'anti-sales' funnel, and see what products and categories are driving the most abandonment.
Jirafe provides deep analytics using a combination of methods (beacons, API calls, etc.) to ensure that your statistics will be accurate regardless of your payment provider, or whether you use AJAX for adding items to the cart.
Reports are compiled on Jirafe servers so that there is no decrease in your site performance.
The Ubercart Addresses module adds an address book to the user's profile. When users register, you can require that they provide an address. Users can then add more addresses and edit or delete existing addresses. One address is always designated as the default address and cannot be deleted (but it can be edited). Users can optionally name each address (e.g. "work", "mary", "joe").
The Ubercart checkout process is altered so that users select delivery and billing addresses from their address book rather than from previous orders. You can ask the module to automatically fill in the billing and/or the delivery address with the user's default address. Any new addresses entered during the checkout process are automatically added to the user's address book.
Product "Power Tools" for Ubercart gives the store admin a number of options for altering the product creation form.
This is useful when you have product classes that do not require all of the possible product fields, especially if someone less computer savvy will be dealing with data entry for products listed on the site.
Unneeded fields can be disabled and hidden, or preset and hidden.
Tweakable options include:
- Auto Generate SKU
- List Position
- List Price, Sell Price, and Cost
- Default Quantity & Package Quantity
- Whether a product is shippable, other shipping fields can be preset and hidden, or hidden for non shippable products
- Set default stock levels (If stock module is installed)
Once installed, settings are available by product class at the url: admin/store/products/power-tools
As of version 1.10 the default product node type is supported.
Power tools settings are configured for each class by clicking the edit action next to the associated product class, and can be enabled or disabled for each class as well.
As of version 1.12 settings for other product classes can be cloned to any other product class, whether that class is new or pre-existing.
Maintenance & Development
This module provides your website with currency conversion, currency information & metadata, and amount/price display functionality.
IMPORTANT: The 1.x plugin has been removed from the Professor Cloud website. Only the 2.x plugin is available now, which is not tested with the module and is only free for non-commercial use.
This addon provides a small, thumbnail sized image, with an on-hover popup, zoomed and centred on a larger version of the image.
To configure this module you need to follow these steps
With this module you can output a view as a PDF document. Each field of the view can be placed on the PDF page directly in the administration interface. Therefore a new display called "PDF" is added.
There are already some PDF solutions such as Print. But these solutions use the HTML output and converts this to PDF. The downsides of such an integration are:
- No control over page flow (e.g. page break).
- Little or no control over page header and footer.
- You need HTML skills to change the layout.
- The rendering is slow and need a lot of memory, because it needs to render the HTML.
- Complex tables make troubles.
- Vector graphics can not be implemented, therefore the printing of the document can be problematic.
- You are limited by HTML's capabilities.
- No hyphenation.
These are the exportable elements at the moment.
Drupal Commerce core
- Product types.
- Tax Types.
- Tax Rates.
- Customer profile types.
Drupal Commerce contribs
- Shipping 2.x flat rates. (issue)
Warning: Support for Commerce Customizable Line Items (CCLI) has been dropped in the latest versions, migration to Commerce customizable products is adviced. If you want to keep the support for CCLI, please use beta1 of this module.
This project is an implementation of the Amazon Product Advertising API. It's modular in design, with a central "Pure API" component that interacts with Amazon, and optional modules to handle expanded data for additional product types, features like wishlists and customer reviews, etc.
Seeking co-maintainer(s)! Are you using Amazon? I currently don't have it deployed anywhere, so it's not getting enough love from me. If you have interest, get involved in the issue queue, and ask if you think you need commit privileges.
- 4 Aug 2011: Both D6 and D7 now have devel_generate support, configurable using the variables amazon_devel_generate_search_index and amazon_devel_generate_keywords_array (but the defaults should work for you).
- 29 June 2011: The D7 version now has feeds import support. Oh, and views should be working OK now.
- 12 Apr 2011: We're struggling a bit with the new D7 Views 3 API changes, but it's mostly working now. And Drupal 7 now has an Amazon Examples feature again, demonstrating how to use fields in views.
Adds a block visible on checkout pages that shows what step of the checkout process the user is currently on. The status is an unordered list with each checkout page title being an item. The active page is designated in the list with an "active" class.
uc_discounts_alt is a full-featured Ubercart discounts module that supports both code-based (i.e. coupons) and codeless discounts.
Using the power of Feeds, almost any type of data can be imported into commerce entities, be it data in the Comma-Separated Values (CSV) format, XML format (use Feeds XPath Parser), or any other format for which a feeds importer exists. Data can also be synchronized from a remote location, e.g. from an XML or RSS feed, handling potential issues associated with duplicate content. Large amounts of data can be comfortably imported because of the Feeds usage of Drupal's core Batch API. This module can import both commerce entities and their associated commerce display nodes in two consecutive steps.
The module contains:
- Product processor for Feeds that creates product entities in Drupal.
- Profile processor for Feeds that creates customer profile entities in Drupal.
- Commerce coupon processor for Feeds that creates coupon entities in Drupal.
- Commerce price mapper supporting the creation of price amounts and currency codes from raw input.
- Commerce product reference mapper supporting the creation of relationships between product displays and product entities.
This is an add-on module for Drupal Commerce that provides additional options when displaying the formatted price in your store.
By default, Commerce allows you to format the price as:
- Raw amount
- Formatted Amounts
You can override the theme of these formatters, but this module gives you a way to control the formatting of your price display via the UI.
Extra Price Formatters Implemented So Far
RRP / Your Price
Allows you to display the Retail Price and the User Price for a product and optionally the amount the customer will save.
Allows you to switch the display back to a single price if there is no discount available on a particular product.
Formatted Price with Prefix and Suffix
Allows you to present a price in the style just £9.99 ex VAT or only £9.99 for a limited time only
Formatted Price with no decimal places
When you are selling items with whole unit prices, you don't necessarily want to see £10.00. This formatter lets you change the display to show £10. (use this with care!)
Please let me know if there are other price formatter combinations you would like to see.
There's a video demo here: http://www.youtube.com/watch?v=-WR3mKjou8M
This module provides support for European VAT pricing and regulations in Ubercart 2, allowing your store to show product prices inclusive of VAT. You do not need this module if you only want to charge VAT at checkout.
After installation you should add a new tax rule with the VAT rate for your country at /admin/store/settings/taxes. Ensure you select the correct product class and taxable line item options here, such as shipping and discount coupons if applicable. The module provides extra conditions that you can use to apply the tax to EU countries only.
Configuration options at /admin/store/settings/taxes/vat allow the store owner to choose whether to enter product prices inclusive or exclusive of VAT, and whether to display suffixes on prices regarding taxes and shipping. The cart and checkout can be configured to show VAT amounts separately. An option is also available to recalculate prices after a rate change, so VAT inclusive prices stay the same if you do not wish to pass on a VAT increase to your customers.
EU B2B VAT rules can be implemented by using this module in conjunction with uc_vat_number.
What is Ubercart AJAX Cart?
This module provides a drop-in replacement for the default Ubercart cart block that is entirely AJAX enabled, allowing users to add, update or remove items from their cart without needing to refresh the page.
Ubercart AJAX Cart has been tested with Ubercart version 6.x-2.11. Attention: Some refactorings in 6.x-2.2 may have caused a bug that results in anonymous users not getting their cart contents refreshed when caching is enabled. This issue is being investigated and will be resolved within the next 48h. See #1881758: 6.2.2 works only with caching OFF.
Entity Registration is a simple, flexible module for allowing and tracking user registrations for events, or just about anything you want people to sign up for. Entity Registration can be integrated with Drupal Commerce to allow fee-based registrations: sell tickets to your stuff! This module is also handy if you want to collect information along with registrations: like shoe-size for a bowling event.
This Module is Unsupported
I've switched this module status to 'Unsupported' and 'No further development'. If anyone wants to jump in and take this module into the future, please feel free to offer your assistance.
Otherwise, I'd urge folks to look elsewhere for a solution to automatic content injection.
Seeking new maintainer
8/2/2012: I'm seeking a new primary maintainer for this module. If you are interested, please contact me via the Drupal user contact page.
*Content Injector was formerly known as AdSense Injector.
Major new features
Reliable in-content insertion using HTML DOM and XPath manipulation
Want to insert ads or other content inside node bodies?
The 6.x-3.x and 7.x-3.x versions for Drupal 6 and 7 now provide reliable in-line insertion into a node's body.
This version provides three body insertion points: top, in-line, and bottom.
The in-line insertion template uses the PHP DomDocument's XPath query feature to select an insertion point. This is powerful, allowing for any valid XPath expression to select the insertion point -- but this also requires that you know what you're doing with XPath if you want to override the default insertion point.
Per-node insertion blocking
There are undocumented features in the 6.x-3.x and 7.x-3.x branches. You can prevent insertion on a per-node basis by adding ai:noinject to the start of a node's body text. See issue #1333800: Document ai:noinject feature: prevent automatic injection in node body of selected nodes. for more info.
In addition, if the node contains any AdSense module [adsense:xxx] manual insertion tags, this module will not inject any ad templates -- so in effect, if you place any AdSense ads using the AdSense module's [adsense] tags, this module's features are disabled for the node in question.
Upgrading from a previous release
The 6.x-3.x and 7.x-3.x branches are fully functional but lack ability to migrate settings from previous versions, so you'll have to reset all your current settings (save copies of your ad templates first!) and re-configure the module.
Call for testers
I need help testing the 6.x-3.x and 7.x-3.x branches new features. Please test and create bug reports if you find any problems.
You can control the node types and word count that will trigger insertion. For example, you can insert content only on "Story" or "Book" (or both) node types, and only if they have more than 300 words. You can use CSS styles to control placement on the page to some extent.
The AdSense module is required only for [adsense] tag support; if you aren't using [adsense] tags, there is no dependency on the AdSense module as of the 6.x-3.x and 7.x-3.x branches.