Big Cartel Theme Support

How do I allow my customers to email their orders?

How do I allow my customers to email their orders?

This article details how to add a link to your cart page that will allow a customer to send their order via your Big Cartel contact form or email instead of paying via your standard shop checkout process.

Create an Insert Content page

With an Aarcade theme you use the Insert Content method to insert content into your cart page. For the email order link, we recommend using the x-ic-after-cart-items page.

So, unless you already have a x-ic-after-cart-items page, the first step is to create a new custom page, as detailed in the support article How do I add a page to my Big Cartel shop?, and name it x-ic-after-cart-items

IMPORTANT

Switch to HTML edit mode before proceeding - refer How do I switch to HTML edit mode?

Special characters in your product titles or options may cause incomplete email links, so test well after application and modify your products and/or the code as required.

The code on this page is provided as a courtesy to Aarcade and Big Cartel users. Aarcade does not provide further support for the use of this code.

If you do not have an Aarcade theme

If you do not have an Aarcade theme, do not create an x-ic-after-cart-items page as detailed in the next sections of this article. Instead you will need to work out a suitable place within your Cart theme page to manually paste code to (instead of pasting it into a x-ic-after-cart-items page). Contact your theme provider if you need further assistance.

Instructions

Copy all of the code in the code box below and paste it into your new x-ic-after-cart-items page content area.

{% capture order_field %}{% for item in cart.items %}{{ item.quantity }} x {{ item.name }} - {{ store.currency.sign }}{{ item.price | money }}%0D{% endfor %}{% if cart.discount.enabled %}{% unless cart.discount.pending or cart.discount.amount num_lt 0 %}%0DDiscount: -{{ store.currency.sign }}{{ cart.discount.amount | money }}{% endunless %}{% endif %}{% if cart.shipping.enabled %}%0DShipping to: {{ cart.country.name }}%0DShipping: {% if cart.shipping.pending %}--{% elsif cart.discount.free_shipping %}FREE{% else %}{{ store.currency.sign }}{{ cart.shipping.amount | money }}{% endif %}{% endif %}%0D%0DORDER TOTAL: {{ store.currency.sign }}{{ cart.total | money }}{% endcapture %}{% assign order_body = order_field | replace: '&euro;', '€'  | replace: '&yen;', '¥'  | replace: '&pound;', '£'  | replace: ' ', '%20' | replace: '"', '%22' | replace: '&', '%26' %}{% capture order_subject %}{{ store.name | replace: '&euro;', '€'  | replace: '&yen;', '¥'  | replace: '&pound;', '£'  | replace: ' ', '%20' | replace: '"', '%22' | replace: '&', '%26' }}%20-%20Order{% endcapture %}{% capture link_open %}<a href="/contact?subject={{ order_subject }}&message={{ order_body }}">{% endcapture %}{% capture link_close %}</a>{% endcapture %}{% capture mail_link_open %}<a href="mailto:!EMAIL!?subject={{ order_subject }}&body={{ order_body }}">{% endcapture %}{% capture mail_link_close %}</a>{% endcapture %}

To submit your order via email, please {{ link_open }}click here{{ link_close }}. We will invoice you once your order is ready to ship.

Edit this code as discussed in the following Explanations and save your page when finished.


Explanation - Code Part A

{% capture order_field %}{% for item in cart.items %}{{ item.quantity }} x {{ item.name }} - {{ store.currency.sign }}{{ item.price | money }}%0D{% endfor %}{% if cart.discount.enabled %}{% unless cart.discount.pending or cart.discount.amount num_lt 0 %}%0DDiscount: -{{ store.currency.sign }}{{ cart.discount.amount | money }}{% endunless %}{% endif %}{% if cart.shipping.enabled %}%0DShipping to: {{ cart.country.name }}%0DShipping: {% if cart.shipping.pending %}--{% elsif cart.discount.free_shipping %}FREE{% else %}{{ store.currency.sign }}{{ cart.shipping.amount | money }}{% endif %}{% endif %}%0D%0DORDER TOTAL: {{ store.currency.sign }}{{ cart.total | money }}{% endcapture %}{% assign order_body = order_field | replace: '&euro;', '€'  | replace: '&yen;', '¥'  | replace: '&pound;', '£'  | replace: ' ', '%20' | replace: '"', '%22' | replace: '&', '%26' %}{% capture order_subject %}{{ store.name | replace: '&euro;', '€'  | replace: '&yen;', '¥'  | replace: '&pound;', '£'  | replace: ' ', '%20' | replace: '"', '%22' | replace: '&', '%26' }}%20-%20Order{% endcapture %}{% capture link_open %}<a href="/contact?subject={{ order_subject }}&message={{ order_body }}">{% endcapture %}{% capture link_close %}</a>{% endcapture %}{% capture mail_link_open %}<a href="mailto:!EMAIL!?subject={{ order_subject }}&body={{ order_body }}">{% endcapture %}{% capture mail_link_close %}</a>{% endcapture %}

Here we construct the form link using Big Cartel's Themes support article to loop through the cart items and then add the discount (if applicable), shipping details and the order total.

You do not need to edit this code.


Explanation - Code Part B

To submit your order via email, please {{ link_open }}click here{{ link_close }}. We will invoice you once your order is ready to ship.

Here we define the message to be displayed to the customer. Note that this must be at the end of all of the code and that the {{ link_open }} and {{ link_close }} variables (defined in our link construction coding) are used to surround the link text.

You can edit this message as you like using HTML and new lines. You must always include the {{ link_open }} and {{ link_close }} variables.

For example:

<div style="text-align: center">
<h3 id="payment-via-cheque-or-money-order"><span>Payment via Cheque or Money Order</span></h3>

If you wish to pay for your order via cheque or money order, please {{ link_open }}submit your order via form{{ link_close }} and we will invoice you accordingly.

Note that orders paid via cheque or money order take an additional 5 working days to fulfil.
</div>

The link created with the {{ link_open }} and {{ link_close }} variables will send the customer to your Big Cartel contact form with the subject and message automatically filled with the order details. If you use this method, be sure that your contact email is set correctly in your Big Cartel store settings as this is where form messages will be sent to.

Alternatively (or as well), you can use the {{ mail_link_open }} and {{ mail_link_close }} variables in your message. This link will launch the order details in the user’s default email app.

For example:

<div style="text-align: center">
<h3 id="payment-via-cheque-or-money-order"><span>Payment via Cheque or Money Order</span></h3>

If you wish to pay for your order via cheque or money order, please use one of the following links:

{{ link_open }}submit your order via form{{ link_close }}

{{ mail_link_open | replace: '!EMAIL!', 'mymail@gmail.com' }}submit your order via email{{ mail_link_close }}

We will invoice you once your order is ready to ship. Note that orders paid via cheque or money order take an additional 5 working days to fulfil.
</div>

Note that you need to replace mymail@gmail.com in the above code with your own email address, where your order emails will be received.

You can also use additional Big Cartel template code in your message. For example, if you wanted to be sure that your customer first selects their shipping details before emailing their order.

{% if cart.shipping.enabled and cart.shipping.pending %}
Please select your shipping destination and update your cart to enable the option to email your order.
{% else %}
To submit your order via email, please {{ link_open }}click here{{ link_close }}. We will invoice you once your order is ready to ship.
{% endif %}

Disabling standard checkout and forcing order by email

If you wish to force orders to be sent by email, you can use a x-ic-cart-summary insert content page instead of an x-ic-after-cart-items page.

If an x-ic-cart-summary renders content, it will display instead of the cart totals and checkout button. If you wrap all of your x-ic-cart-summary in a conditional statement — as detailed in the next section of this article — you can ensure that the checkout remains functional for all customers except those you intend to see the message.

Be careful to test your changes to ensure you have not completely disabled checkout. For more information, see Insert Content - Cart Page.

Controlling who sees the email order message

If you are using Big Cartel discount codes, you can easily ensure that only customers using a particular code will see your email order message.

After successfully creating your email message and link using the instructions in the previous sections of this support article you can surround all of the code, i.e. surround everything you have entered into your x-ic-after-cart-items page content area with the following conditional statement using Big Cartel's Themes support article:

{% if cart.discount.code == 'MYDISCOUNTCODE' %}

..this is ALL of your x-ic-after-cart-items content code..

{% endif %}

Where MYDISCOUNTCODE is the correct discount code (that you created in your Big Cartel admin) that your target customer needs to enter.

Note that Big Cartel will change discount codes to all capitals, so you might enter wholesale123 but this will be changed to WHOLESALE123 when you save the code. To ensure that you have the right code for the following instructions, check the discount code listed in your Big Cartel admin area after you have saved it.

So, lets say you have a wholesale discount code WHOLESALE123. To ensure that only your wholesale customers see your email order link your x-ic-after-cart-items page code would be:

{% if cart.discount.code == 'WHOLESALE123' %}

..this is ALL of your x-ic-after-cart-items content code..

{% endif %}

AarcadeHow do I allow my customers to email their orders?