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 [2015/08/03 14:52] – [Optional: Change the email subject] 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's [[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 administratorsThis approach could be applied to the main store email receipt though - so that the changes impact the emails that customers receive as well.
  
-===== Newly-Created Subscription Condition =====+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's **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**.
  
-At this snippet in the **admin text email template** if you want to be notified whenever a customer registers a new subscription.+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.
  
-<code javascript>{% set is_new_sub 0 %} +===== Newly-Created Subscription Condition =====
-{% set today "now"|date("Y-m-d") %} +
-{% set creation_date checkout_date|date("Y-m-d") %}+
  
 +Add this snippet in the email template text area if you want to be notified whenever a customer registers a new subscription.
  
-{% if has_subscriptions and creation_date == today %} +<code javascript> 
- {% set is_new_sub = 1 %}+{% if is_new_subscription %} 
 +{# INSERT CUSTOM CODE HERE #}
 {% endif %} {% endif %}
- 
-{% for item in items %} 
- {% if item.name == "Past Due Amount" %} 
- {% set is_new_sub = 0 %} 
- {% endif %} 
-{% endfor %} 
 </code> </code>
- 
 ==== Optional: Change the email subject ==== ==== Optional: Change the email subject ====
  
-In case you want to modify the email subject to be more descriptive to the newly-created subscription event, add this snippet below:+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 email_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 ~ ']' %} 
-{{ email_subject|fc_output_data('email_subject') }}+{{ custom_subject|fc_output_data('email_subject') }}
 {% endif %} {% endif %}
 </code> </code>
  
 +==== 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: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:
 +
 +<code javascript>{% if has_subscriptions and not is_new_subscription %}
 +{% set custom_subject = '' %}
 +{{ custom_subject|fc_output_data('email_subject') }}
 +{% endif %}
 +</code>
 ===== 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 50: Line 54:
 As with the above optional snippet, you can include this in the custom code section of the cancelled subscription condition: As with the above optional snippet, you can include this in the custom code section of the cancelled subscription condition:
  
-<code javascript>{% set email_subject = 'Cancelled Subscription by ' ~ billing_address.first_name ~ ' ' ~ billing_address.last_name ~ ' [' ~ order_id ~ ']' %} +<code javascript>{% set custom_subject = 'Cancelled Subscription by ' ~ billing_address.first_name ~ ' ' ~ billing_address.last_name ~ ' [' ~ order_id ~ ']' %} 
-{{ email_subject|fc_output_data('email_subject') }}+{{ custom_subject|fc_output_data('email_subject') }}
 </code> </code>
- 
-You wouldn't need to include ''{#% include "address.email.inc.txt.twig" with {'address': billing_address} %#}'' if you have already included it earlier, but if you haven't then you can place it a the very top of the template. 
  
 ===== 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 69: 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