Field Mapping

Written By Luke Wakefield

Last updated 2 months ago

Example

Example
{%- function field_map = "modules/module_86/front_end/functions/v1/field_mapping", field_headings: field_headings, this: this -%}

Purpose

This function is an important part of how WebApp Layouts can automatically adapt to handle different sources of data.

It takes in a headings object which stores field IDs as keys next to the names of available field slots as values. It then returns a new object using the values in this which stores the data values against those field slots so that the layout can output the data.

Adjusting the Mapping

If you add a new field to the WebApp after creating the layout with SiteBuilder, you can safely access that value via the this object as you normally would in a layout.

However, if you wish, you can also modify the existing headings in the JSON object.

Starting with this Object…

Example
{% parse_json field_headings %} { "Title": "name" } {% endparse_json %}

You could change it so that existing {{field_map['Title']}} outputs would output values from a different field like so:

Example
{% parse_json field_headings %} { "Title": "webapp_field_1_1" } {% endparse_json %}

Or you can add a brand new slot to the WebApp {{field_map['Extra Slot']}} and populate it with a new field's data:

Example
{% parse_json field_headings %} { "Title": "name" "Extra Slot": "webapp_field_1_2" } {% endparse_json %}

As the field_headings are passed into the function, the function will return an object where the required data values are stored against the correct keys.