GetTracking (OLD)
Last modified by Outhman Moustaghfir on 2024/02/26 17:12
Introduction
In this section, we will go throw an XSL function to get trackings by trkID or using Keys/Values.
Parameters
GetTracking uses 5 params to help retrieve trackings in question.
- trackingType: it refers to type of tracking wanted. (eg : order , product, baseArticle ...)
- keys: it can handle 2 values, "trkID" or keys separated by ';' (eg: 'orderNumber;City;Phone') if the key contains '_' at the first character, it means we look for metadata (_statusTracking, _creationDate ...)
NB: all metadata will be explained in detail in another paragraph. - values: the values must be ordered the same as 'keys'. if we're searching by 'trkID', 'values' should contain trkIDs separated by space ' '. eg : '121ee 123DD 55evr om432'
In the other case where we use values depending on keys, they must be separated by ';' as shown below :
if we take the last example in 'keys' param, 'orderNumber;City;Phone' , 'values' will be by example '1243;Paris;06070706053' . - limit: it defines the max number of tracking to retrieve. it's optional.
- order: whether you want to order the list of trackings in a descending way or not by a certain key order. The default value is 'trkID' and it's optional as long as you fill the limit value.
Uses
We suppose that we have a tracking type named Product. It has 3 data (Name, Brand, and Country).
if we want to get Product by key values
<xsl:value-of select="ixf:GetTracking('Product', 'Name;Brand;_statusTracking' , 'Laptop;Dell;Delivered')"></xsl:value-of>
Searching by trkIDs :
<xsl:value-of select="ixf:GetTracking('Product', 'trkID' , '632061bef8aef457701a28d2 632061e5f8aef457701a28d3 63206213f8aef457701a28d4')"></xsl:value-of>
Set the limit value to get only 4 elements :
<xsl:value-of select="ixf:GetTracking('Product', 'Name;Brand;_statusTracking' , 'Laptop;Dell;Delivered' , 4)"></xsl:value-of>
Add an order by Country :
<xsl:value-of select="ixf:GetTracking('Product', 'Name;Brand;_statusTracking' , 'Laptop;Dell;Delivered' , 4, 'Country')"></xsl:value-of>
if you want to add an order without filling the limit, you must put 0 as a value to it :
<xsl:value-of select="ixf:GetTracking('Product', 'Name;Brand;_statusTracking' , 'Laptop;Dell;Delivered' , 0, 'Country')"></xsl:value-of>