For example, you have a user tracker with a field containing the phone number of the user, you can use this plugin with the fieldId=phone_field_id to display in the page the phone number of the user looking at the page:
Copy to clipboard {trackeritemfield fieldId="1"}
Another example, you want to add a link in a page to a page where a user can fill his user tracker only if the user has no user tracker. You can use this plugin with the fieldId that is the user selector field.
Copy to clipboard {TRACKERITEMFIELD(fieldId="1" test="1")}Welcome new member, please visit ((this_page)) to fill up your information{TRACKERITEMFIELD}
A field can be tested against a value
Copy to clipboard {TRACKERITEMFIELD(fieldId="1" test="1" value="toto")}Yes your name is toto{TRACKERITEMFIELD}
See Tracker Field Types for values to match for special fields such as checkboxes.
If you want to do the same thing with a tracker that is not the user tracker but has only one item per user and has a field user selector/1, you can specify the tracker ID like this
Copy to clipboard {trackeritemfield trackerId="1" fieldId="1"}
{TRACKERITEMFIELD(trackerId="1" fieldId="1" test="1")}Please fill out your review{TRACKERITEMFIELD}
It is also possible to test the status of the user item. For instance if you want to display something only if the item is pending or closed:
Copy to clipboard {TRACKERITEMFIELD(status="pc")}Sorry, your survey is being processed{TRACKERITEMFIELD}
It is also possible to test if all the fields of as item are not empty:
Copy to clipboard {TRACKERITEMFIELD(trackerId="1" fields="")}Thank you your form is complete{TRACKERITEMFIELD}
It is also possible to test an alternative:
Copy to clipboard {TRACKERITEMFIELD(fieldId="1" test="1")}OK{ELSE}NOT OK{TRACKERITEMFIELD}
It is possible to have multiple levels of ELSE:
Copy to clipboard {TRACKERITEMFIELD(fieldId="1" test="1")}OK{ELSE}{TRACKERITEMFIELD(fieldId="2" test="2")}super ok{ELSE}NOT OK{TRACKERITEMFIELD}{TRACKERITEMFIELD}
Note the order the other test with always be in the ELSE part.
This plugin is also very useful when you want to show only some filtered values from a tracker field and for empty ones - to hide the messy warnings like "No value for 'tracker_field_xxx".
Copy to clipboard {LIST()}
{pagination max=10}
{filter field="tracker_id" content="2"}
{OUTPUT(template="table")}
{column label="Id" field="itemid" class="text-left" mode="raw"}
{column label="object_id" field="object_id"}
{column label="Name" field="name" sort="name" class="text-nowrap"}
{column label="Discount" field="discount"}
{OUTPUT}
{FORMAT(name="itemid")}{display name="tracker_field_shopProductId" format="trackerrender"}{FORMAT}
{FORMAT(name="object_id")}{display name="object_id"}{FORMAT}
{FORMAT(name="name")}{display name="tracker_field_shopProductName"}{FORMAT}
{FORMAT(name="discount")}
{TRACKERITEMFIELD(trackerId="2" fieldId="143" itemId={display name="object_id"} test="0" value="")}
{display name="tracker_field_shopProductDiscount" format="trackerrender"}
{TRACKERITEMFIELD}
{FORMAT}
{LIST}
The trick here is to assign itemId value like this:
Copy to clipboard itemId={display name="object_id"}
|