Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Summary

Excerpt

For company events you have start and end dates. Calculate the duration from the two fields (Id: start; Id: end) in a fieldset (Id: duration) and show the values in days, or only the start date.

Code Block
languagejson
{% if data.duration.end %} 

{% assign end = data.duration.end | date: '%s' %} 
{% assign start = data.duration.start | date: '%s' %} 
{% assign durationSeconds = end | minus: start %}
{% assign durationDays = durationSeconds | divided_by: 3600 | divided_by: 24 %}

This event lasted {{ durationDays }} days.

{% else %} This event started data.duration.start | local_date: "%d.%m.%Y %H:%M:%S".
{% endif %} 

Setup in Picturepark

  • Layer: "Corporate Information"

  • Fieldset: "Duration" 

    • Field: Start

    • Field: End

Field Value Access

data.corporateInformation.duration | fieldset_list: "Duration"
data.corporateInformation.duration | fieldset_name: "Duration"

  • In this case, the underlying duration information comes from the fieldset schema. The Liquid Filter accesses either the Display Pattern List or Name of the Fieldset schema "Duration."

Use Case

In the Fieldset schema, the Display Pattern could calculate the duration in days, when an end date is provided or otherwise just show the start date.

Code Block
languagejson
{% if data.duration.end %} 

{% assign end = data.duration.end | date: '%s' %} 
{% assign start = data.duration.start | date: '%s' %} 
{% assign durationSeconds = end | minus: start %}
{% assign durationDays = durationSeconds | divided_by: 3600 | divided_by: 24 %}

This event lasted {{ durationDays }} days.

{% else %} This event started data.duration.start | local_date: "%d.%m.%Y %H:%M:%S".
{% endif %} 

...