- Created by Olivia Schütt (Unlicensed), last modified on Jun 07, 2021
You are viewing an old version of this page. View the current version.
Compare with Current View Page History
« Previous Version 7 Next »
Display Patterns are configurable templates in Liquid Syntax (used in Shopify). In these Patterns, you take metadata and other values and construct a nice piece of information.
{% if data.fruit.shortDescription%} {{data.fruit.shortDescription | translate | truncate: 250}} {% endif %} <br><be> Product: {{data.fruit.code}} - {{data.fruit.name}} <br> Bricks class: {{data.fruit.bricks | tagbox_list | join: ", "}} <br> {% if data.fruit.price%} Price: {{data.fruit.price}} {{data.fruit.currency.code}} {% if data.fruit.unit%} per {{data.fruit.unit.name | translate}}{% endif %} {% endif %} {% if data.fruit.supplier %}<br>Supplier: {{data.fruit.supplier | tagbox_list}}{% endif %}
The configuration supports different metadata values and static text combinations, including translations and tags. For configuration, you should be familiar with the field types in Picturepark.
Display patterns are configured for Virtual Types, Layers, File Types, Lists, and Fieldsets. Some Display Patterns may not yet be in use. Picturepark generates a display pattern for you when a text field is assigned. It will take the first available text field and display its value, if there are any.
How to create a Display Pattern?
The display pattern editor will help administrators create simple display patterns. The display pattern editor is opened when you click on edit in any of the Detail, List, Name or Thumbnail display patterns.
Open your desired schema and go to "Display pattern"
Find the fields on the right
Click on a field to add it to the Display Pattern
The preview is directly adapted.
Save your Display Pattern.
The values are just added without any further formatting, so you will get one block of text from all values of the selected fields. Each field code is a Liquid Syntax Tag (if not an empty statement) containing a Liquid Syntax Object (the metadata field to use) – see Liquid Syntax for details.
You can add HTML and CSS for styling your Display Pattern.
-
Page:Display Pattern: Link to Picturepark Areas (Solutions)
-
Page:Display Pattern: Using Icons, HTML and CSS (Solutions)
-
Page:Display Pattern: Show Text as Headings (Solutions)
-
Page:Display Pattern: Using HTML and CSS (Solutions)
-
Page:Display Pattern: No Permission on Images (Solutions)
-
Page:Display Pattern: Text (Solutions)
How to use the Display Pattern Editor?
The Monaco editor where you write Liquid Syntax to create your Display Pattern.
The search and paging to find a specific item you want to see in the preview. To find a specific content item search for the content's id which is shown in the content detail view URL bar e.g. id:cb20faba4e3342d9a9f83191deeec115
The preview - which will give you a preview of the Display Pattern (you must have at least one content item filled out with the values in the Display Pattern for a preview to display).
The fields of the Schema can easily be added to the current Display Pattern by clicking on them. Each field will be added with a liquid tag checking if the field is not empty and the liquid object which is the field.
Layers – are only necessary for the Virtual Type Display Pattern where the fields will be the virtual type fields and additional metadata fields from layers will be available in this section.
Languages - which allows you to add a different Display Pattern per Metadata language. If you only add the default language this will be used in all other languages, the values are always translated if translations are available.
Hint: Adding languages makes only sense if you use static text in the Display Pattern which then not be translated.
The JSON preview shows the detailed data structure of the current item you are previewing and all the available objects you have for the Display Pattern.
You can use this for debugging or to check which fields are available for usage.
In contentSchemaId – you find data – where you find all metadata you can use e.g. the title which is translated into en only.
Solution: Optimized Code Example
To improve your code for performance and handling you can follow this example.
Prettify with Push Explained
When you have a Display Pattern with lots of values, you can prettify your code using the following logic. 1. Create an array (name: tags) for looping through terms {% array tags %} 2. Push values (into the array) {% push tags%} {% if data.basicInformation %} {{data.basicInformation | layer_name: "BasicInformation"}} {% elsif data.productInformation %} {{data.productInformation | layer_name: "ProductInformation"}} {% endif %} {%endpush%} {% push tags%} {% for mediaType in data.imageAndUsageInformation.mediaType %} {{mediaType | tagbox_name}}{% endfor %} {%endpush%} 3. Check if something is in the array {% if tags.size > 0 %} 4. Display the values from the array with a filter: | uniq - which means unique values only {{tags | uniq | join: " | " }} 5. Show values in case array is empty {% else %} {% if data.imageMetadata.fileName %} {{data.imageMetadata.fileName}} {% else %} {{id}} {% endif %} {% endif %}
Complete Push Code Example
{% array tags %} {% push tags%} {% if data.basicInformation %} {{data.basicInformation | layer_name: "BasicInformation"}} {% elsif data.productInformation %} {{data.productInformation | layer_name: "ProductInformation"}} {% endif %} {%endpush%} {% push tags%} {% for mediaType in data.imageAndUsageInformation.mediaType %} {{mediaType | tagbox_name}}{% endfor %} {%endpush%} {% if tags.size > 0 %} {{tags | uniq | join: "_" | downcase}} {% else %} {% if data.imageMetadata.fileName %} {{data.imageMetadata.fileName}} {% else %} {{id}} {% endif %} {% endif %}
Picturepark uses Display Patterns in different areas, usually to construct nicer summaries instead of plain IDs. Check Display Pattern Types for details.
Picturepark shows Display Pattern only for ID-based filters e.g. a filter on the tagbox _refid uses the name pattern of the connected list, but a filter on a field value of that list e.g. product name will show the name.
How to update your Display Pattern?
Find your desired Display Pattern in the settings and select edit.
Find the individual field values (1)
{if} {{data.layer.field | liquid filter }} {endif}
Add spaces and special characters or line breaks using HTML <br>
Validate your edits in the preview
You can add HTML and CSS for styling your Display Pattern.
-
Page:Display Pattern: Link to Picturepark Areas (Solutions)
-
Page:Display Pattern: Using Icons, HTML and CSS (Solutions)
-
Page:Display Pattern: Show Text as Headings (Solutions)
-
Page:Display Pattern: Using HTML and CSS (Solutions)
-
Page:Display Pattern: No Permission on Images (Solutions)
-
Page:Display Pattern: Text (Solutions)
Re-Render after Display Pattern Update
After changing an existing Display Pattern, you will find a badge on settings in the main menu. Go there and follow the red badge.
Open settings
Open status
Open outdated Display Pattern.
Re-Render
Please be aware that this will start a rerendering of all display values and may affect the performance of the system. Consider rerendering only after you finish your edits, work with the preview in the Display Pattern editor for quick validation of your edits.
How to delete a Display Pattern?
To delete the Display Pattern, you must provide at least a space. The Display Pattern cannot be empty. For a better overview, you should provide a dash or pipe instead of a space.
Open your desired schema and edit the desired Display Pattern
Remove everything in the editor on the left
Add a space, dash, or pipe (whatever you prefer)
Save your Display Pattern
Re-Render after Display Pattern Update
After changing an existing Display Pattern, you will find a badge on settings in the main menu. Go there and follow the red badge.
Open settings
Open status
Open outdated Display Pattern.
Re-Render
Please be aware that this will start a rerendering of all display values and may affect the performance of the system. Consider rerendering only after you finish your edits, work with the preview in the Display Pattern editor for quick validation of your edits.
Limitations
For security reasons, we do not allow Javascript to be resolved.
Display Patterns are updated each time Content is saved. For this reason, users will not see Display Patterns change while viewing Content.
Display patterns are not inherited by Children. For example, you cannot set display patterns for all file types on FileMetadata. The display patterns that you do set here will take hold for any content that is a File Type content but does not belong to AudioMetadata, DocumentMetadata, ImageMetadata, VideoMetadata e.g for a .css file.
Display patterns do not take permissions into account. They are pre-calculated and are not bound to user permissions. Display Patterns should therefore be optimized for your general audience and not the super admin.
Please avoid using Picturepark icons in HTML or CSS. Currently, material design icons are treated as font, so any CSS font styling works for icons too (e.g. color or size). Icons will be replaced in one of the next releases which will break all icon implementations.
HTML and CSS rendering is not supported for all Display Patterns e.g. in the list views the HTML will be not interpreted and displayed as text.
- No labels