In this feature, you can:
- Add a subscription item to the basket directly from the product listing page.
To set up listing pages, do the following:
- Login to your WebStore Manager.
- Go to Product > Subscription Settings.
- Click Listing Pages.
Listing pages
- Check the checkbox Enable Subscriptions on Product Listing page.

- Select one of the active Frequency options.

- The default frequency has to be configured and saved to use this feature.
- When a product doesn’t have a configured default frequency option assigned the subscribe button won’t be displayed on the product listing page for this product
Template changes
To edit templates, copy and paste the following code into their templates.
Warning: If you are not comfortable with editing HTML and do not have experience with web scripting languages, it is advisable to seek WebSell’s assistance with changes to these templates.
Subscribe button
- Default V2 (Responsive Templates — uses default template lines).
{nsIf:productSupportsRecurringOrders}
{nsIf:listingSupportsSubscriptions}
<a class=”btn btn-primary btn-block add-to-basket” style=”margin-top: 25px” href=”javascript:void(0)” onclick=”window.bAddSUb = true; window.bIsListing = true; nsc.fn.addToBasket({product[‘product_id’]}, 1); return false;” onfocus=”blur()” rel=”nofollow”>Subscribe {product[‘frequency_label’]} </a>
{/nsIf:listingSupportsSubscriptions}
{/nsIf:productSupportsRecurringOrders}
Note: While styling, the surrounding {nsIf:} and the classes can be changed or removed, but the subscription WILL NOT work if the onclick=”window.bAddSUb = true; window.bIsListing = true; nsc.fn.addToBasket({product[‘product_id’]}, 1); return false;” snippet for the <a> tag is not exactly copied from below.
- Default(Non-Responsive Templates — also uses default template lines as reference
{nsIf:productSupportsRecurringOrders}
{nsIf:listingSupportsSubscriptions}
<li class=”subscription-btn”>
<div style=”clear:both; width:130px; padding-top:5px;”>
<a class=”add-cart button-big {if (product[‘product_stock’] lte 2)}disabled{endIf}” href=”javascript:void(0)” onclick=”window.bAddSUb = true; window.bIsListing = true; nsc.fn.addToBasket({product[‘product_id’]}, 1); return false;” onfocus=”blur()” rel=”nofollow”> <span class=”button-left”></span><span class=”button-text”>Subscribe {product[‘frequency_label’]} </span><span class=”button-right”></span> </a>
</div>
</li>
{/nsIf:listingSupportsSubscriptions}{/nsIf:productSupportsRecurringOrders}
Editing templates
To edit templates, do the following:
- Go to Design & Content > Edit Templates.
- Select from the section Product Listing.

- Copy and paste the code into the template.
- In this example, we will be adding a subscribe button to our product listing.

- Click Save Changes.
- From the preview, decide to set it live or continue editing.

The discount price/label
- Both Responsive and non-responsive can use the same markup.
{if (product[‘subdiscount_value’] gt 0)}
<br> <span id=”text-percentage”>
<span class=”label”> {if (product[‘subdiscount_label’] eq ”)} {getLanguageString(“SUBSCRIPTION_INITIAL_DEFAULT_LABEL”, product[‘subdiscount_value’])}:
{else}
{product[‘subdiscount_label’]}: {endIf} </span><span class=”text-pricesave”> {product[‘subdiscount_formatted_price’]}</span><span class=”price-percentage”> ({product[‘subdiscount_value’]}% off)</span> </span>
{endIf}
- Default V2(Responsive Templates — uses default template lines):
Product Listing-> Default, line 28, below the closing {endIf} for {if (checkDiscount())}
- Default (Non-Responsive Templates — also uses default template lines as reference):
Product Listing, line 156, just under closing {/nsIf:InDefaultCurrency}{endIf}
New template values
The following list contains new template values that can be added to your store’s templates.
Copy the value and paste it into a template.
- {nsIf:productSupportsRecurringOrders} – If Recurring Orders is enabled and the product has frequency options assigned.
- {nsIf:listingSupportsSubscriptions} – If the default frequency is set up and active, and the product is assigned the default frequency.
- product[‘subdiscount_value’] – The amount being discounted off.
- (E.g., 15% Sets to 0 if there is no discount)
- product[‘subdiscount_price’] – The raw price of the product with the discount applied.
- (E.g., 10, 9.99. sets to 0 if there is no discount)
- product[‘subdiscount_formatted_price’] – the formatted price. Sets to 0 if there is no discount
- product[‘subdiscount_label’] – the label of the (initial) discount, either the custom label or default language string.
- product[‘frequency’]- the frequency code e.g 1m, 6w etc. Sets to ” if there is no default frequency set up or active.
- product[‘frequency_label’] – the default frequency’s label. Sets to ” if there is no default frequency set up and active.

Contact Us
If you have any problems with this feature, contact our support team by opening a ticket.





