Custom Themes

Printer-friendly versionPrinter-friendly version

If you have a hired or are considering hiring a third party developer or designer to work on a theme for your website please have them review the information below. We highly recommend confirming they are familiar with Drupal.

What version of Drupal is the IndieCommerce site based on?    

IndieCommerce websites have recently upgraded to Drupal 7.  Our sites are created using a multi-site install.  This allows ease of updating and managing our sites as they share the same code base.  Currently, there are over 400 IndieCommerce sites using this shared code base. 
For the security of all sites, there are restrictions on certain aspects of your IndieCommerce site.  If you plan on creating a custom theme or customizing a theme and you have questions after reviewing the FAQ, we encourage you to reach out to the IndieCommerce Team at before you begin any development work.  This could save you valuable time.

I would like to update my custom theme. How do I go about doing that?

While updating your current theme or creating a new one, you will need SFTP access to the themes folder of your site.  Please contact with a request.  We will send the login information as soon as it becomes available.
Before beginning any theme work, please review the rules for custom or customized IndieCommerce themes along with the list of IndieCommerce-supported modules.  If you have any questions, please contact the IndieCommerce team before beginning any work on your theme.
When creating a custom theme, we recommend that you download an instance of Drupal 7 and begin working on your local environment before you upload the new theme to your themes folder for final tweaking.  You must make sure that your theme does not have any module dependencies that are not supported by the IndieCommerce platform. 

I have hired the help of a third party developer to update my site. How can the developer get started?

First, send us an email informing us that you have hired a developer to work on your site (name and email). Second, have the developer review this FAQ section. Third, email us your plans for your new theme and the name of the theme you would like us to provide a copy of. We will then set up an SFTP account to provide access to your site's theme folder.
If your developer has additional questions, he can email us at and if needed, we can schedule a call.

Are there rules for either customized or completely custom-built themes?

There are three important considerations for any store planning to customize an IndieCommerce off-the-shelf theme, a purchased theme or a custom-designed and built theme. 
First, the final theme must be compatible with Drupal 7. Second, the final theme must not be dependent upon any Drupal module unsupported by IndieCommerce.The IndieCommerce platform installation of Drupal 7 includes core and contributed Drupal 7 modules that we have tested. We will again review, on a case-by-case basis, additional modules that might benefit all users, but this does not alter the requirement that custom themes be free of dependencies upon unapproved modules.Third, in order to avoid unnecessary expense, confusion with developers or web designers and a customized site that does not function as part of IndieCommerce, notify the IndieCommerce staff of your theme plans in advance by writing 

What are the IndieCommerce-approved modules?    

The following lists offer modules currently supported by IndieCommerce. Customized or custom-built themes must not be dependent upon unlisted modules. Please direct questions to

@font-your-face @font-your-face (fontyourface) 7.x-2.8
@font-your-face @font-your-face UI (fontyourface_ui) 7.x-2.8
@font-your-face Edge Fonts (edge_fonts) 7.x-2.8
@font-your-face Font Squirrel API (fontsquirrel) 7.x-2.8
@font-your-face Fontdeck (fontdeck) 7.x-2.8
@font-your-face (fonts_com) 7.x-2.8
@font-your-face Google Fonts API (google_fonts_api) 7.x-2.8
@font-your-face Local Fonts (local_fonts) 7.x-2.8
@font-your-face Typekit API (typekit_api) 7.x-2.8
@font-your-face WYSIWYG for @font-your-face (fontyourface_wysiwyg) 7.x-2.8
Administration Actions permissions (VBO) (actions_permissions) 7.x-3.3
Administration Administration Development tools (admin_devel) 7.x-3.0-rc4
Administration Administration menu (admin_menu) 7.x-3.0-rc4
Administration Administration Menu Select (admin_select) 7.x-1.5
Administration Administration menu Toolbar style (admin_menu_toolbar) 7.x-3.0-rc4
Administration Administration views (admin_views) 7.x-1.5
Administration Front Page (front_page) 7.x-2.4
Administration Module filter (module_filter) 7.x-2.0-alpha2
Analytics Analytics API (analytics) 7.x-1.0-alpha2+2-dev
Analytics Google Analytics (analytics_google) 7.x-1.0-alpha2+2-dev
Chaos tool suite Bulk Export (bulk_export) 7.x-1.12
Chaos tool suite Chaos tools (ctools) 7.x-1.12
Chaos tool suite Chaos Tools (CTools) AJAX Example (ctools_ajax_sample) 7.x-1.12
Chaos tool suite Chaos Tools (CTools) Plugin Example (ctools_plugin_example) 7.x-1.12
Chaos tool suite Custom content panes (ctools_custom_content) 7.x-1.12
Chaos tool suite Custom rulesets (ctools_access_ruleset) 7.x-1.12
Chaos tool suite Page manager (page_manager) 7.x-1.12
Chaos tool suite Stylizer (stylizer) 7.x-1.12
Chaos tool suite Term Depth access (term_depth) 7.x-1.12
Chaos tool suite Views content panes (views_content) 7.x-1.12
Context Context (context) 7.x-3.2
Context Context layouts (context_layouts) 7.x-3.2
Context Context UI (context_ui) 7.x-3.2
Custom breadcrumbs Custom breadcrumbs (custom_breadcrumbs) 7.x-2.0-beta1
Custom breadcrumbs Custom breadcrumbs API (custom_breadcrumbsapi) 7.x-2.0-beta1
Custom breadcrumbs Custom breadcrumbs for panels (custom_breadcrumbs_panels) 7.x-2.0-beta1
Custom breadcrumbs Custom breadcrumbs for paths (custom_breadcrumbs_paths) 7.x-2.0-beta1
Custom breadcrumbs Custom breadcrumbs for taxonomy (custom_breadcrumbs_taxonomy) 7.x-2.0-beta1
Custom breadcrumbs Custom breadcrumbs for views (custom_breadcrumbs_views) 7.x-2.0-beta1
Custom breadcrumbs Custom breadcrumbs identifiers (custom_breadcrumbs_identifiers) 7.x-2.0-beta1
Database Schema (schema) 7.x-1.2
Date/Time Calendar (calendar) 7.x-3.4
Date/Time Date (date) 7.x-2.8
Date/Time Date All Day (date_all_day) 7.x-2.8
Date/Time Date API (date_api) 7.x-2.8
Date/Time Date Context (date_context) 7.x-2.8
Date/Time Date Popup (date_popup) 7.x-2.8
Date/Time Date Repeat API (date_repeat) 7.x-2.8
Date/Time Date Repeat Field (date_repeat_field) 7.x-2.8
Date/Time Date Tools (date_tools) 7.x-2.8
Date/Time Date Views (date_views) 7.x-2.8
Example modules ThemeKey Example (themekey_example) 7.x-3.2
Features Features (features) 7.x-2.10
Fieldgroup Fieldgroup Test (field_group_test) 7.x-1.3
Fields Address Field (addressfield) 7.x-1.0-beta5
Fields Email (email) 7.x-1.2
Fields Entity Reference (entityreference) 7.x-1.1
Fields Entity Reference Behavior Example (entityreference_behavior_example) 7.x-1.1
Fields Field Group Inline (field_group_inline) 7.x-1.0-beta5
Fields Fieldgroup (field_group) 7.x-1.5
Fields Font Reference (font_reference) 7.x-2.8
Fields Link (link) 7.x-1.2
Fields Slider Field (sliderfield) 7.x-2.1-beta1
Fields SliderField Example (sliderfield_example) 7.x-2.1-beta1
Fields Telephone (telephone) 7.x-1.0-alpha1
Fields URL (url) 7.x-1.0
FlexSlider FlexSlider (flexslider) 7.x-2.0-alpha3
FlexSlider FlexSlider Example (flexslider_example) 7.x-2.0-alpha3
FlexSlider FlexSlider Fields (flexslider_fields) 7.x-2.0-alpha3
FlexSlider FlexSlider Views Style (flexslider_views) 7.x-2.0-alpha3
Input filters Pathologic (pathologic) 7.x-2.12
Input filters Textile (textile) 7.x-2.0-rc11
Media IMCE (imce) 7.x-1.8
Media IMCE for File Field (imce_filefield) 7.x-1.1
Multilingual - Internationalization Panels translation (i18n_panels) 7.x-3.9
Multilingual - Internationalization Rules translation (rules_i18n) 7.x-2.6+8-dev
Other AddToAny (addtoany) 7.x-4.5
Other Advanced help (advanced_help) 7.x-1.1
Other Advanced help example (help_example) 7.x-1.1
Other Better Formats (better_formats) 7.x-1.0-beta1
Other Block Class (block_class) 7.x-2.3
Other Block Title Link (block_titlelink) 7.x-1.5
Other Colorbox (colorbox) 7.x-2.10
Other Contextual Flyout Links (contextual_flyout_links) 7.x-1.2
Other Diff (diff) 7.x-3.2
Other Disqus (disqus) 7.x-1.10
Other Elements (elements) 7.x-1.4
Other Empty Front Page (empty_front_page) 7.x-1.0
Other Entity API (entity) 7.x-1.6
Other Entity tokens (entity_token) 7.x-1.6
Other Entity view modes (entity_view_mode) 7.x-1.0-rc1
Other Environment indicator (environment_indicator) 7.x-2.2
Other Environment indicator variables (environment_indicator_variable) 7.x-2.2
Other Exclude node title (exclude_node_title) 7.x-1.7
Other Helper (helper) 7.x-1.3+2-dev
Other HTML title (html_title) 7.x-1.4
Other Libraries (libraries) 7.x-2.2
Other Menu Block (menu_block) 7.x-2.3
Other Menu Block Export (menu_block_export) 7.x-2.3
Other Menu target (menu_target) 7.x-1.4
Other Nice Menus (nice_menus) 7.x-2.5
Other Nivo Slider (nivo_slider) 7.x-1.11
Other Pathauto (pathauto) 7.x-1.3
Other Pathauto persistant state (pathauto_persist) 7.x-1.3
Other Redirect (redirect) 7.x-1.0-rc3
Other Remote stream wrapper (remote_stream_wrapper) 7.x-1.0-beta4
Other Secure Pages (securepages) 7.x-1.0-beta2
Other Simplified menu administration (simplified_menu_admin) 7.x-1.0-beta2
Other Special menu items (special_menu_items) 7.x-2.0
Other Strongarm (strongarm) 7.x-2.0
Other Token (token) 7.x-1.6
Panels Panel nodes (panels_node) 7.x-3.9
Panels Panels (panels) 7.x-3.9
Panels Panels In-Place Editor (panels_ipe) 7.x-3.9
Path management Global Redirect (globalredirect) 7.x-1.5
Performance and scalability Memcache (memcache) 7.x-1.6
Performance and scalability Memcache Admin (memcache_admin) 7.x-1.6
Rules Rules (rules) 7.x-2.6+8-dev
Rules Rules Scheduler (rules_scheduler) 7.x-2.6+8-dev
Rules Rules UI (rules_admin) 7.x-2.6+8-dev
Search Toolkit Apache Solr Access (apachesolr_access) 7.x-1.8
Search Toolkit Apache Solr framework (apachesolr) 7.x-1.8
Search Toolkit Apache Solr Multisite Search (apachesolr_multisitesearch) 7.x-1.1
Search Toolkit Apache Solr search (apachesolr_search) 7.x-1.8
Search Toolkit Apache Solr Term Proximity (apachesolr_proximity) 7.x-1.0-rc1
Search Toolkit Apache Solr Views Integration (apachesolr_views) 7.x-1.0-beta2
Search Toolkit Current Search Blocks (current_search) 7.x-1.3
Search Toolkit Facet API (facetapi) 7.x-1.3
SEO Metatag (metatag) 7.x-1.0-beta9
SEO Metatag: Context (metatag_context) 7.x-1.0-beta9
SEO Metatag: Dublin Core (metatag_dc) 7.x-1.0-beta9
SEO Metatag: Open Graph (metatag_opengraph) 7.x-1.0-beta9
SEO Metatag: Panels (metatag_panels) 7.x-1.0-beta9
SEO Metatag: Twitter Cards (metatag_twitter_cards) 7.x-1.0-beta9
SEO Metatag: Views (metatag_views) 7.x-1.0-beta9
SEO Page Title (page_title) 7.x-2.7
Sharing AddThis (addthis) 7.x-4.0-alpha4
Sharing AddThis Displays (addthis_displays) 7.x-4.0-alpha4
Skinr Skinr (skinr) 7.x-2.0-beta1
Skinr Skinr Context (skinr_context) 7.x-2.0-beta1
Skinr Skinr Context UI (skinr_context_ui) 7.x-2.0-beta1
Skinr Skinr Panels (skinr_panels) 7.x-2.0-beta1
Skinr Skinr UI (skinr_ui) 7.x-2.0-beta1
Spam control CAPTCHA (captcha) 7.x-1.0
Spam control Honeypot (honeypot) 7.x-1.16
Spam control Image CAPTCHA (image_captcha) 7.x-1.0
Spam control reCAPTCHA (recaptcha) 7.x-2.2
Spam control reCAPTCHA Mailhide (recaptcha_mailhide) 7.x-2.2
ThemeKey ThemeKey (themekey) 7.x-3.2
ThemeKey ThemeKey Compatibility (themekey_compat) 7.x-3.2
ThemeKey ThemeKey CSS (Experimental) (themekey_css) 7.x-3.2
ThemeKey ThemeKey Debug (themekey_debug) 7.x-3.2
ThemeKey ThemeKey Features (Experimental!) (themekey_features) 7.x-3.2
ThemeKey ThemeKey Redirect (themekey_redirect) 7.x-3.2
ThemeKey ThemeKey UI (themekey_ui) 7.x-3.2
ThemeKey ThemeKey User Profile (themekey_user_profile) 7.x-3.2
Ubercart - core Cart (uc_cart) 7.x-3.5
Ubercart - core Order (uc_order) 7.x-3.5
Ubercart - core Product (uc_product) 7.x-3.5
Ubercart - core Store (uc_store) 7.x-3.5
Ubercart - core (optional) Catalog (uc_catalog) 7.x-3.5
Ubercart - core (optional) File downloads (uc_file) 7.x-3.5
Ubercart - core (optional) Payment (uc_payment) 7.x-3.5
Ubercart - core (optional) Product attributes (uc_attribute) 7.x-3.5
Ubercart - core (optional) Reports (uc_reports) 7.x-3.5
Ubercart - core (optional) Roles (uc_roles) 7.x-3.5
Ubercart - core (optional) Shipping (uc_shipping) 7.x-3.5
Ubercart - core (optional) Shipping quotes (uc_quote) 7.x-3.5
Ubercart - core (optional) Tax report (uc_tax_report) 7.x-3.5
Ubercart - core (optional) Taxes (uc_taxes) 7.x-3.5
Ubercart - extra Cart Links (uc_cart_links) 7.x-3.5
Ubercart - extra Google Analytics for Ubercart (uc_googleanalytics) 7.x-3.5
Ubercart - extra Product kit (uc_product_kit) 7.x-3.5
Ubercart - extra Stock (uc_stock) 7.x-3.5
Ubercart - extra Ubercart Ajax Administration (uc_ajax_admin) 7.x-3.5
Ubercart - extra Variable Price (uc_varprice) 7.x-1.0
Ubercart - fulfillment Flat rate (uc_flatrate) 7.x-3.5
Ubercart - fulfillment In-Store Pickup (uc_storepickup)  
Ubercart - fulfillment U.S. Postal Service (uc_usps) 7.x-3.5
Ubercart - fulfillment UPS (uc_ups) 7.x-3.5
Ubercart - fulfillment Weight quote (uc_weightquote) 7.x-3.5
Ubercart - payment 2Checkout (uc_2checkout) 7.x-3.5
Ubercart - payment (uc_authorizenet) 7.x-3.5
Ubercart - payment Credit card (uc_credit) 7.x-3.5
Ubercart - payment Discount Coupon Extended Workflow (uc_coupon_workflow) 7.x-2.1-alpha7
Ubercart - payment Discount Coupon Purchase (uc_coupon_purchase) 7.x-2.1-alpha7
Ubercart - payment Discount Coupons (uc_coupon) 7.x-2.1-alpha7
Ubercart - payment Gift Card Payment (uc_gc) 7.x-1.0
Ubercart - payment House Account (uc_ha)  
Ubercart - payment Pay at Store (uc_pas)  
Ubercart - payment Payment method pack (uc_payment_pack) 7.x-3.5
Ubercart - payment PayPal (uc_paypal) 7.x-3.5
Ubercart - payment Purchase Order (uc_po)  
Ubercart - payment Store Gift Card (store_gc)  
Ubercart - payment Ubercart Payment Gateway (uc_authnet) 7.x-2.0-beta1
User interface Chosen (chosen) 7.x-2.0-beta4
User interface CKEditor (ckeditor) 7.x-1.17
User interface CKEditor Link (ckeditor_link) 7.x-2.3
User interface Escape Admin (escape_admin) 7.x-1.1
User interface Read More Control (readmorecontrol) 7.x-1.2
User interface Responsive Menus (responsive_menus) 7.x-1.5
User interface Superfish (superfish) 7.x-1.9
Views Views (views) 7.x-3.18
Views Views Bulk Operations (views_bulk_operations) 7.x-3.3
Views Views Data Export (views_data_export) 7.x-3.1
Views Views importer (views_import) 7.x-1.1
Views Views Slideshow (views_slideshow) 7.x-3.1
Views Views Slideshow: Cycle (views_slideshow_cycle) 7.x-3.1
Views Views UI (views_ui) 7.x-3.18
Webform Webform (webform) 7.x-3.20
XML sitemap XML sitemap (xmlsitemap) 7.x-2.3
XML sitemap XML sitemap custom (xmlsitemap_custom) 7.x-2.3
XML sitemap XML sitemap engines (xmlsitemap_engines) 7.x-2.3
XML sitemap XML sitemap internationalization (xmlsitemap_i18n) 7.x-2.3
XML sitemap XML sitemap menu (xmlsitemap_menu) 7.x-2.3
XML sitemap XML sitemap node (xmlsitemap_node) 7.x-2.3
XML sitemap XML sitemap taxonomy (xmlsitemap_taxonomy) 7.x-2.3
XML sitemap XML sitemap user (xmlsitemap_user) 7.x-2.3

The module I need is not on the IndieCommerce-approved modules list. Can I still use it?

Do not begin work on your theme, if your work is dependent on an unsupported module or you do not see the module on the approved modules list.  You can write with the name of the module along with a link to the module's page. We will test the module to see if it is compatible with the IndieCommerce platform.  If it is compatible, we will make it available to you and all IndieCommerce users.  Please note that not all modules will be approved.  

Can I have a staging environment to work with my custom theme?  

We can not create or provide extra sites for users.  We recommend instead, creating your new theme in a local installation of Drupal 7, then when your theme is ready, you can upload it to your Drupal 7 themes folder. If you have not already done so, please contact for SFTP access to your themes folder.

About ABA

The American Booksellers Association, a national not-for-profit trade organization, works with booksellers and industry partners to ensure the success and profitability of independently owned book retailers, and to assist in expanding the community of the book.

Independent bookstores act as community anchors; they serve a unique role in promoting the open exchange of ideas, enriching the cultural life of communities, and creating economically vibrant neighborhoods.




Copyright 2019 American Booksellers Association. BookWeb is a registered trademark of ABA.
Privacy Policy, Cookie Policy