Example and reference
The easiest way to see what is a widget and how to include it in a page. In the documentation linked, you can see the list of supported widgets (from version 2), an example of use and the code related.
You can play with the parameters and adapt the values to see the result. You can enter your own values, except if you added a domain restriction on the widgets.
Version | Documentation |
---|---|
2 | TODO : change for prod doc on demo |
Introduction
The widget are small chunk of SecuTix that you can include in any website. Linked to an internet point of sales inside SecuTix, it allows to present products, section or catalog in an adaptive way.
Basic concepts
In any website,you may reserve space to display one of the Secutix widget. Like advertisement or highlightment of some products.
To display a widget onto any website, you need to :
- Include the widget library
- Create an html container with an id for each widget
- Get the information related to the widget
- Instantiate the widget
Include the widget library
The widget library only contains a loader that will automatically load the widget definition when needed. You only have to include the following script inclusion to get access to all widgets.
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
<script type="text/javascript" src="https://s3.eu-central-1.amazonaws.com/pub.tnwi.int1-s3.secutix.com/stx-widgets/Widgets.js"></script> |
This Widget file generate the STX global object that contains the widget library. The library contains only the library loading system.
Create a HTML container
Anywhere in the website, you can include a HTML tag with an id that will be pass later to the widget definition. To ensure structure to the website, you may define size and position of the container. The widgets will adapt to the container.
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
<div id="catalog_1"> </div> < ... some website structure> <div id="product_1"> </div> <div id="product_2"> </div> <div id="product_3"> </div> </ ... some website structure> |
For each widget instance, you need to create a specific container that cannot be reused.
Get information
To display a widget, several informations are needed. In the linked documentation, you can find the mandatory and optional parameters.
Some information can be share between several widgets (hostname, apikey, language) and some other are specific to each widget (see below how to handle them)
Show a widget
The widget library export only one function, the magic start. When the Widget.js script is loaded, you can access to all widgets by calling this function.
It takes an object as parameter that is described in the following code block.
Code Block | ||||
---|---|---|---|---|
| ||||
{ hostname: string that represent the hostname of the internet point of sales (mandatory) apiKey: string that contains the apikey linked to the internet point of sales (mandatory) language: string representing the language in which the widgets should be displayed (optional, it takes the default institution language if not provided) wdigets: a list of widget definition } |
The widget definition is an object that contains the widget parameters. The widget name must be provided as widget (case sensitive), the container id must be provided as root. Then all other widget specific parameters.
Widget instantiation example
Code Block | ||||
---|---|---|---|---|
| ||||
<script type="text/javascript"> STX.Widgets.start({ // The hostname defined in the point of sales hostname: 'thecube-special-cube.int2-shop.secutix.com', apiKey: '8bafa660-8bc1-4982-83da-f15fce01f4ec', language: 'fr', widgets: [{ widget: 'Product', // the name of the widget root: '#product_1', // the id of html tag above productId: '4654654', // the id of the product occurrenceId: '87846578', // the id of performance / match / slot showActions: true, // parameters to show the actions aspectRatio: 'VERTICAL' // how to display the picture },{ widget: 'Product', root: '#product_3', productId: '465488', occurrenceId: '1129848', showDescription: true, showImage: false },{ widget: 'Catalog', root: '#catalog_1' }] }); STX.Widgets.start({ // The hostname defined in the point of sales hostname: 'thecube-special-cube.int2-shop.secutix.com', apiKey: '8bafa660-8bc1-4982-83da-f15fce01f4ec', language: 'en', widgets: [{ widget: 'Product', // the name of the widget root: '#product_2', // the id of html tag above productId: '4654654', // the id of the product occurrenceId: '87846578', // the id of performance / match / slot showActions: true, // parameters to show the actions aspectRatio: 'VERTICAL' // how to display the picture }] }); </script> |
In the previous example, there are two groups of widgets. Widgets that are inside a group must share the same global definition (ie. : localhost, apiKey, language). For each set of global info, you have to create a new group by using the function start again as shown in the example.
Additionnal information
Domain restrictions
It can be configured in the point of sales definition :