ID (TQL): Difference between revisions
No edit summary |
No edit summary |
||
| (3 intermediate revisions by the same user not shown) | |||
| Line 7: | Line 7: | ||
<pre> | <pre> | ||
[ | [ | ||
{ "id" : 0, "name" : "East Side", "attributes": { "INHABITANTS": 600.0 } }, | { "id" : 0, "name" : "East Side", "attributes": { "INHABITANTS": [ 600.0 ] } }, | ||
{ "id" : 1, "name" : "West Side", "attributes": { "INHABITANTS": 200.0 } } | { "id" : 1, "name" : "West Side", "attributes": { "INHABITANTS": [ 200.0 ] } } | ||
] | ] | ||
</pre> | </pre> | ||
| Line 26: | Line 26: | ||
</pre> | </pre> | ||
Since each panel is linked to a particular Neighborhood, through the ''contentID'' and ''contentMaplink'' parameters, the TQL statement <code>SELECT_NAME_WHERE_NEIGHBORHOOD_IS_ID</code> is internally replaced with: | |||
<code>SELECT_NAME_WHERE_NEIGHBORHOOD_IS_ID</code> is internally replaced with | :<code>SELECT_NAME_WHERE_NEIGHBORHOOD_IS_0</code> for the first Text Panel | ||
<code>SELECT_NAME_WHERE_NEIGHBORHOOD_IS_0</code> for the first Text Panel | :<code>SELECT_NAME_WHERE_NEIGHBORHOOD_IS_1</code> for the second Text Panel | ||
The result of each query will be: | The result of each query will be: | ||
<code>"East Side"</code> and <code>"West Side"</code> | <code>"East Side"</code> and <code>"West Side"</code> | ||
Similarly, the value of the attribute INHABITANTS of the linked Neighborhood can be obtained using | Similarly, the value of the attribute INHABITANTS of the linked Neighborhood can be obtained using | ||
<code>SELECT_ATTRIBUTE_WHERE_NEIGHBORHOOD_IS_ID_AND_NAME_IS_INHABITANTS</code>. | <code>SELECT_ATTRIBUTE_WHERE_NEIGHBORHOOD_IS_ID_AND_NAME_IS_INHABITANTS</code>. | ||
Latest revision as of 14:42, 19 May 2026
Instead of specifying the value of a clause parameter with a particular Item ID, it is possible to use the 'ID' characters for its value. The result of using 'ID' for the clause value, is that is automatically filled in using the Item that contains the TQL statement.
ID clause values are often used in combination with Template Panels; For example: Consider A Template Text Panel applied on Neighborhoods
Example
Consider the following (simplified) Neighborhood data of a project:
[
{ "id" : 0, "name" : "East Side", "attributes": { "INHABITANTS": [ 600.0 ] } },
{ "id" : 1, "name" : "West Side", "attributes": { "INHABITANTS": [ 200.0 ] } }
]
And a Template Text Panel applied on Neighborhoods, resulting in two Text Panel instances:
[
{
"id" : 2, "mapLink" : "NEIGHBORHOODS", "name" : "Template Text Panel", "type" : "TEMPLATE_TEXT_PANEL",
"text" : "Name: $SELECT_NAME_WHERE_NEIGHBORHOOD_IS_ID<br>Inhabitants: $SELECT_ATTRIBUTE_WHERE_NEIGHBORHOOD_IS_ID_AND_NAME_IS_INHABITANTS"
} , {
"contentID" : 0, "contentMapLink" : "NEIGHBORHOODS", "id" : 3, "name" : "Template Text Panel: East Side", "parentID" : 2, "type" : "TEXT_PANEL"
} , {
"contentID" : 1, "contentMapLink" : "NEIGHBORHOODS", "id" : 4, "name" : "Template Text Panel: West Side", "parentID" : 2, "type" : "TEXT_PANEL"
}
]
Since each panel is linked to a particular Neighborhood, through the contentID and contentMaplink parameters, the TQL statement SELECT_NAME_WHERE_NEIGHBORHOOD_IS_ID is internally replaced with:
SELECT_NAME_WHERE_NEIGHBORHOOD_IS_0for the first Text PanelSELECT_NAME_WHERE_NEIGHBORHOOD_IS_1for the second Text Panel
The result of each query will be:
"East Side" and "West Side"
Similarly, the value of the attribute INHABITANTS of the linked Neighborhood can be obtained using
SELECT_ATTRIBUTE_WHERE_NEIGHBORHOOD_IS_ID_AND_NAME_IS_INHABITANTS.
Clause Parameters
The X value can be used in the following TQL Clause parameters: