Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
v:2.0:snippets:email_notifications_subscriptions [2017/02/02 01:31] – [Optional: Don't send receipts for subscription renewals] adamv:2.0:snippets:email_notifications_subscriptions [2023/05/02 12:17] (current) – [Combining Conditions] adam
Line 3: Line 3:
 The following functionality allows you to receive email notifications for subscription events. The following functionality allows you to receive email notifications for subscription events.
  
-===== Configure you store =====+===== Configure your store =====
  
-While on your store admin'[[https://admin.foxycart.com/admin.php?ThisAction=ManageProductCategories|Manage Product Categories]], enable **send admin email** in the Email Options, input the email addresses you want to be notified in **admin email(s)**, and then set an **admin email subject**.+This page is primarily related to configuring custom email notifications that are sent to the store administrators. This approach could be applied to the main store email receipt though - so that the changes impact the emails that customers receive as well. 
 + 
 +If you want to trigger a custom email receipt just for store administrators, you'll need to enable the admin emails for specific categories in your store. To do that, while on your store admin'**categories** page, enable **send admin email** in the Email Options, input the email addresses you want to be notified in **admin email(s)**, and then set an **admin email subject**
 + 
 +If you want to make customisations to your main email receipt so customers see the changes as well - you will work from the **emails** template page in the administration, selecting **custom text template** in order to be able to add the custom logic there.
  
 ===== Newly-Created Subscription Condition ===== ===== Newly-Created Subscription Condition =====
  
-At this snippet in the **admin text email template** if you want to be notified whenever a customer registers a new subscription.+Add this snippet in the email template text area if you want to be notified whenever a customer registers a new subscription.
  
 <code javascript> <code javascript>
-{% set is_new_sub = 0 %} +{% if is_new_subscription %} 
- +{# INSERT CUSTOM CODE HERE #}
-{% if has_subscriptions %} +
-{% for subscription in subscriptions %} +
- {% if subscription.original_transaction_id == transaction_id %} +
- {% set is_new_sub = 1 %} +
- {% endif %} +
-{% endfor %}+
 {% endif %} {% endif %}
- 
-{% for item in items %} 
- {% if item.name == "Past Due Amount" %} 
- {% set is_new_sub = 0 %} 
- {% endif %} 
-{% endfor %} 
- 
-{# WRITE EMAIL BODY BELOW #} 
 </code> </code>
 ==== Optional: Change the email subject ==== ==== Optional: Change the email subject ====
Line 34: Line 24:
 In case you want to modify the email subject to be more descriptive to the newly-created subscription event, add this snippet below the above snippet: In case you want to modify the email subject to be more descriptive to the newly-created subscription event, add this snippet below the above snippet:
  
-<code javascript>{% if is_new_sub and not is_subscription_cancel and not is_subscription_modification and not is_updateinfo %}+<code javascript>{% if is_new_subscription %}
 {% set custom_subject = 'New Subscription by ' ~ billing_address.first_name ~ ' ' ~ billing_address.last_name ~ ' [' ~ order_id ~ ']' %} {% set custom_subject = 'New Subscription by ' ~ billing_address.first_name ~ ' ' ~ billing_address.last_name ~ ' [' ~ order_id ~ ']' %}
 {{ custom_subject|fc_output_data('email_subject') }} {{ custom_subject|fc_output_data('email_subject') }}
Line 42: Line 32:
 ==== Optional: Don't send receipts for subscription renewals ==== ==== Optional: Don't send receipts for subscription renewals ====
  
-If you don't want to send email receipts for subscription renewals, but just for initial subscription orders, subscription cancels and subscription updates, you can do that with a setting on your store's advanced settings page. Look for the "send emails for automated subscription renewals" checkbox and uncheck that to stop email receipts being sent for subscription renewals. More details on [[v:2.0:subscriptions#using_foxycart_s_native_dunning_functionality|the subscriptions wiki page]].+If you don't want to send email receipts for subscription renewals, but just for initial subscription orders, subscription cancels and subscription updates, you can do that with a setting on your store's advanced settings page. Look for the "send emails for automated subscription renewals" checkbox and uncheck that to stop email receipts being sent for subscription renewals. More details on [[v:2.0:products:subscriptions#using_foxycart_s_native_dunning_functionality|the subscriptions wiki page]].
  
 If you need to handle it conditionally within your templates though, you can add the following code below the above snippet: If you need to handle it conditionally within your templates though, you can add the following code below the above snippet:
  
-<code javascript>{% if has_subscriptions and not is_new_sub and not is_subscription_cancel and not is_subscription_modification and not is_updateinfo %}+<code javascript>{% if has_subscriptions and not is_new_subscription %}
 {% set custom_subject = '' %} {% set custom_subject = '' %}
 {{ custom_subject|fc_output_data('email_subject') }} {{ custom_subject|fc_output_data('email_subject') }}
Line 53: Line 43:
 ===== Cancel Subscription Condition ===== ===== Cancel Subscription Condition =====
  
-At this snippet in the **admin text email template** if you want to be notified whenever a customer cancels a subscription.+Add this snippet in the email template text area if you want to be notified whenever a customer cancels a subscription.
  
 <code javascript>{% if is_subscription_cancel %} <code javascript>{% if is_subscription_cancel %}
Line 70: Line 60:
 ===== Modify Subscription Condition ===== ===== Modify Subscription Condition =====
  
-At this snippet in the **admin text email template** if you want to be notified whenever a customer modifies a subscription.+At this snippet in the email template text area if you want to be notified whenever a customer modifies a subscription.
  
 <code javascript>{% if is_subscription_modification %} <code javascript>{% if is_subscription_modification %}
Line 81: Line 71:
 ===== Combining Conditions ===== ===== Combining Conditions =====
  
-Feel free to combine the conditions in one conditional statement separated by an **and** statement.+Feel free to combine the conditions in one conditional statement separated by an **and** statement. For example: 
 + 
 +<code> 
 +{% set custom_subject = "" %} 
 + 
 +{% if is_new_subscription %} 
 +    {# New Subscription Purchase #} 
 +    {% set custom_subject = "Welcome to your new subscription [" ~ order_id ~ "]" %} 
 +{% elseif is_subscription_cancel %} 
 +    {# Subscription Cancellation #} 
 +    {% set custom_subject = "We're sorry to see you go [" ~ order_id ~ "]" %} 
 +{% elseif is_subscription_modification %} 
 +    {# Subscription Modification #} 
 +    {% set custom_subject = "Your subscription has been modified [" ~ order_id ~ "]" %} 
 +{% elseif has_subscriptions and not is_updateinfo %} 
 +    {# Subscription Renewal #} 
 +    {% set custom_subject = "Your subscription has been renewed [" ~ order_id ~ "]" %} 
 +{% endif %} 
 + 
 +{% if custom_subject != "" %} 
 +    {# A custom subscription is set, so let's replace the default subscription #} 
 +    {{ custom_subject|fc_output_data('email_subject') }} 
 +{% endif %} 
 +</code>

Site Tools