You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 8 Next »

Overview

Customer Self Service features 'Notify Me' functionality, whereby users can elect to be emailed when unavailable products return to stock.

The 'Notify Me' option can be added to both the product detail page and the shopping cart. 

Product DetailShopping Cart

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

In the shopping cart, if the 'Notify Me' button is clicked on an out-of-stock product, 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. 

This functionality is available from version 3.79 onward.


Contents



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).

     @{
    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.

  • No labels