Ajax Themes in Custom Pricing



This article requires technical knowledge and prior experience with JavaScript and Ajax. If you are not comfortable with this, Request a Custom Pricing Installation.

Shopify themes that use Ajax for certain features don't automatically function correctly with Custom Pricing because they update the cart dynamically without reloading the page. When this happens the changes that Custom Pricing has made to the cart are erased.

Note: If you have completed the Ajax Themes in Product Options 2.0 install on your current theme, you don't need to complete these steps.

To correct this, it is necessary to trigger Custom Pricing to redo its changes after the Ajax cart reload has completed.

Please follow these instructions to do this:

  1. From Shopify's admin, select Online Store.

    select online store

  2. Select Actions.

    Select Actions

  3. Select Edit code.

    Select Edit code

  4. Under "Assets", select theme.js.

    Note: If this file doesn't exist, your main JavaScript file may be named: app.js, ajaxify.js, the same name as your theme or something similar.

    select theme.js

  5. Look for the function that draws the cart, like refreshCart or buildCart.

    find the function that drawd the cart

  6. Add this code immediately after the opening of the function:

    if(window.BOLD && BOLD.common && BOLD.common.cartDoctor && typeof BOLD.common.cartDoctor.fix === 'function'){
        cart = BOLD.common.cartDoctor.fix(cart);

    It should look like this:

    add this code below

  7. Scroll down to the end of the function.

    scroll to the end of the function

  8. Add this code right at end of the function before the close:

    if(window.BOLD && BOLD.common && BOLD.common.eventEmitter && typeof BOLD.common.eventEmitter.emit === 'function'){
      BOLD.common.eventEmitter.emit('BOLD_COMMON_cart_loaded', cart);

    It should look like this:

    add this code

  9. Select Save.

    select save

That's it!

Next Steps:

Blog Posts:

0 out of 0 found this helpful



Please sign in to leave a comment.