Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

When a user clicks the 'Notify Me' button on an unavailable product, a modal popup window launches opens for the user to enter an their email address.

If In the shopping cart, if the 'Notify Me' button is clicked on an out-of-stock product in the cart, that product is automatically removed from the cart once the user's notification request has been saved. 

A scheduled task runs behind the scenes at regular intervals, checking stock availability against notification requests. When a requested product becomes available, the email to the user is triggered. 

Info

This functionality is available from version 3.79 onward.

...

To enable Back in Stock Notifications, there are 3 components:

...


...

Contents

Table of Contents
excludeContents


1. Add the Widgets

...

 

Shopping Cart: 

  1. Login to the CMS.
  2. Navigate to Content --> Standard Pages.

  3. Select the Cart template.


  4. Click 'Add Widget' in any zone (for example Zone Header Right). The feature will behave the same regardless of zone placement.

  5. Search for and select the 'Stock Availability Popup' widget and click 'Add Widget'.


  6. Click 'Edit' to configure options.

  7. Update messages (optional) and click 'Save'.

  8. Still in the Cart template, locate the Order Lines widget and click 'Edit'.

  9. Tick the option to 'Show 'Notify Me When In Stock' button'.


  10. Edit the Notify Me button label (on the 'Buttons' tab) if required.

  11. Click 'Save'


Product Detail page: 

  1. Navigate to Content → Standard Pages.

  2. Select the Product Detail template.

  3. Click 'Add Widget' in any zone (for example Zone Main Left). The feature will behave the same regardless of zone placement.

  4. Select the 'Stock Availability Popup' widget and click 'Add'.


  5. Next, edit the Product Purchase Details widget.

  6. Tick the option to 'Show Availability?' if it's not already enabled. Note - the 'Notify Me' button will not display on the product detail page if you are not also displaying availability.

  7. Tick the option to 'Show Notify Me button?'.


  8. Edit the Notify Me button label (on the 'Buttons' tab) if required.

  9. Click 'Save'.



2. Create & Assign the Email Template

...

  1. Navigate to Content --> Content Editor and click 'New'.



  2. Set the values as follows:
      • Template Type - Email Template
      • Template Name - StockAvailabilityNotifyEmailTemplate (This must be exact)
      • Version - Razor 
      • Template Description - a description of your choice


  3. Click the 'Code Editor' tab.

  4. Paste in the email template code contained below (click 'Expand Source' to display).

    Code Block
    collapsetrue
     @{
    var product = Model.Product;
    var list = new List<string>();
    product.MoveThruStart();
    while (product.MoveThru())
    {
    list.Add(product.ProductCode);
    }
    var products = string.Join(", ", list);
    }
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html>
    @Raw(Model.TemplateUtil.Subtemplate("EmailHeaderSubTemplate"))
    <body leftmargin="0" marginwidth="0" topmargin="0" marginheight="0" offset="0">
    <center>
    <table border="0" cellpadding="0" cellspacing="0" height="100%" width="100%" id="backgroundTable">
    <tr>
    <td align="center" valign="top">
    <table border="0" cellpadding="0" cellspacing="0" width="600" id="templateContainer">
    @Raw(Model.TemplateUtil.Subtemplate("EmailBannerSubTemplate"))
    <tr>
    <td align="center" valign="top">
    <!-- START BODY -->
    <table border="0" cellpadding="0" cellspacing="0" width="600" id="templateBody">
    <tr>
    <td valign="top">
    <!-- Full Width Column -->
    <table border="0" cellpadding="0" cellspacing="0" width="600">
    <tr>
    <td valign="top" class="bodyContent">
    <!-- 1 Column -->
    <table border="0" cellpadding="20" cellspacing="0" width="100%">
    <tr>
    <td valign="top">
    <div>
    <h1 class="h1">Available Stock Notification</h1>
    <br />
    <table border="0" cellpadding="20" cellspacing="0" width="100%">
    <tr>
    <p>The following products are now back in stock:</p>
    <p><a href="@product["SEOUrl"]">@product["Description"]</a></p>
    </tr>
    </table>
    </div>
    </td>
    </tr>
    </table>
    <!-- 1 Column -->
    </td>
    </tr>
    </table>
    <!-- Full Width Column -->
    </td>
    </tr>
    </table>
    <!-- END BODY -->
    </td>
    </tr>
    @Raw(Model.TemplateUtil.Subtemplate("EmailFooterSubTemplate"))
    </table>
    <br />
    </td>
    </tr>
    </table>
    </center>
    </body>
    </html>
  5. Click 'Save & Close'.
  6. Navigate to Content --> Assign Default Templates
  7. Search the page for 'stock' to locate the 'Stock Availability Notify Email Template' field.
  8. Update this field with the Template Description entered at Step 12 (you may need to click 'Show Others' to search the template list).
  9. Click 'Update' at the bottom of the page.

 

3. Create the Scheduled Task and Refresh the Dictionary

...

  1. Navigate to Settings --> Scheduler Maintenance.

  2. Click 'New' and update the values as follows:
      • Begin the task - On a schedule
      • Name - Stock Availability
      • Active - ticked
      • Task - Stock Availability Notify Task
      • Schedule - Repeat Period
      • Period - X Minutes (this can be set to run however often Stock Availability runs on your site's Integrator). 

  3. Click 'Save'.

  4. Navigate to Settings --> Dictionary.

  5. Tick the 'System Control' box and click 'Refresh Cache'

 A confirmation message will display when complete.

...