Dynamic pages is a concept which makes it possible to retrieve content from several panels at once, without predefining a zone for each combination of panels that might be called at once. This also enables the possibility to deduplicate products over a dynamically generated page.
A dynamic page is defined by a name, a number of sub-panels which constitute the page, and a number of arguments to the page request. Each sub-panel is in turn defined by a (for that dynamic page) unique identifying name, the path to a public panel, and a number of arguments to that panel.
Dynamic pages and Web API v2
Three major changes have been introduced when working with Dynamic pages and Web API v2.
- All query parameters, except
esales.market, have been moved into the body.
- All dynamic page tokens have been removed from v2 in favour of the
Api-Keyheader in the HTTP request.
Dynamic page naming
Always name a dynamic page after its use and position in the site. Never change the name of a dynamic page as this will result in inaccurate panel statistics. If there is a need to rename dynamic pages, please consider using local attributes instead.
The name of a dynamic page should reflect its use and position in the site structure. A dynamic page is not to be renamed after its initial publishing. All statistics are connected to their path. As the path is based on the name, statistics will be reset when the identifying path is changed.
Sub-panels of a dynamic page may only refer to the public root panels in a published panel hierarchy. It is possible to include multiple sub-panels which refer to the same public panel, however this require that the sub-panels must have unique identifying names. The advantage in using this method is that the same panel can be requested several times, but with different arguments. This also supports deduplication.
Local panel attributes are key-value pairs that may be used if there is a need to associate some information with a panel. These can be set statically via general panel settings, or dynamically using Dynamic pages. The latter can be useful when there is a need to pass on information between request and response. For an example on how to do this, see the RESTful API.