The Detail Layout for Subscriptions displays details of the Subscription Product and also a Form for creating/editing Subscription Orders
A Subscription Detail Layout allows you to display detailed content about an individual Subscription product to a customer. It also is an important part of outputting a Subscription Sign Up Form, as these must be outputted within the Layout of the Subscription they will subscribe Users to.
The most common place where Detail Views are displayed is on the automatically generated Detail Page, if you have enabled these. However, they can also be outputted within most Liquid files, including ordinary Pages.
Heading to ECOMMERCE > Settings will allow you to select the Subscriptions tab.
Here you can set up Detail Pages by:
You can use the type parameter to output a Detail Layout in most Liquid files:
Parameters:
Bear in mind that Forms will not work properly inside Emails, so if displaying a Detail Page inside an Email, it is best to provide an alternative Detail Page without the Sign Up Form.
To output the Layout here, you need to add a Detail Layout name to the Liquid as a parameter. Read more here.
Subscription Layouts can be found at the path: layouts/modules/module_14/subscription Within this folder, you can create a folder for each Layout. Each Layout folder can contain a further "detail" folder containing the wrapper and item files it needs.
We provide an example of some logic you can use to explain to logged in Users what the Form will do:
In the case where the User is not currently logged in and is not responding to an email, the logic won't be able to determine the exact status straight away.
Instead, if a non-logged in User tries to Sign up for a Subscription, Siteglide will first log them in and check if they have an active Subscription already. If they do, we'll throw an error, but allow the User to try again if they wish to update their payment details.
Adding a Form to the Detail Layout allows users to Sign Up to this Subscription product. You can read more about creating this Form here. If you've already created your Form, you can skip this step.
Once you've created a Form and made a note of its ID, you'll be able to add it to your Detail Layout.
As a guide, we've added a Liquid comment to remind you to add your Subscription Sign Up Form to this Layout: {% comment %} INSERT YOUR PAYMENT FORM HERE {% endcomment %}
This is just a suggestion, you can actually include your Form anywhere you like in the Layout. Use the following Liquid: {% include 'form', id: '1', layout: 'my_form_layout' %}
Parameters:
The wrapper.liquid file could be used to add any HTML structure you may require around your layout.
You must include the following Liquid, which will output the item.liquid file for the Subscription Item. Most fields are specific to the Item and will only be available inside the item.liquid file.
On the Subscription Detail View, we provide you with fields relating to the Subscription and also the Subscription Order for a logged in User.
Subscription Fields
Subscription Order Fields If a User is logged in, Siteglide will establish if they have an existing Subscription Order for this Product. Using any of these fields should be done cautiously, as they will not be available if the User is logged out, or if they don't have an existing Subscription.
To determine this, you can use Liquid Logic to hide an entire block of code in which you use these fields:
Fields:
Tip: Changes in the Pricing Plan It's possible to change the price and billing interval of a Subscription. This change will only affect new subscribers and existing customers will continue on the plan they signed up for originally. You can read more about this here: eCommerce Subscriptions - Changing the Price and Billing Interval When outputting fields, be aware that the Price might have changed globally for a Subscription, while a User may already have an existing Subscription with a different price. When changing their payment Details on the Subscription Detail View, these Users may be reassured to see the price displayed they are paying currently. For these Users (if they are logged in) there will be two sets of fields available. For example:
You can use logic to display a different price to Users in this situation.
Or alternatively, you can use the default filter:
Tip: Working with the interval As you can see above, there are multiple fields involved in storing the interval of charges, which you can use to display the interval in a user-friendly way. Here's one example of using Liquid to programmatically decide the format to display the Interval:
If the Interval Count is 1, it will use formatting like "per day". If the Interval Count is greater than 1, it will use formatting like "every 2 days". Check out all the available Liquid filters over on the platformOS Liquid docs.