Export_to_template_context is a parameter that makes a module’s parameters available to the template environment without actually rendering the module. This parameter can be used all HubL module tags. The widget_data tag is used to retrieve these parameters, store them in variables, and/or incorporate them into your template’s logic.
export_to_template_context
is a parameter that makes a HubL tag’s parameters available to the template environment without actually rendering the HubL tag. This parameter can be used with all HubL tags. The widget_data
dict is used to retrieve these parameters, store them in variables, and/or incorporate them into your template’s logic.
By making a HubL tag’s parameters available in the template context, without actually rendering the HubL tag, you can allow users to make decisions in the content editor that affect how the template renders. For example, let’s say that you want to only render a certain code block when the user gives a value to a field. This becomes possible with this parameter.
First you must add export_to_template_context=True
to the HubL tag. Then you must use a widget_data.module.parameter_you_want_to_retreive
.
export_to_template_context=True
is not supported in custom modules, as it serves no real purpose for them. You do not need to use export_to_template_context
to get the value of a module within a template, you can already access it. If you need to visually hide the module’s output you could build the module to not output anything, or include a boolean field that enables or disables whether the module renders anything.
src
parameter is retrieved with the widget_data
tag and rendered as the source of a background image in a style tag.
export_to_template_context
parameter in conjunction with a choice module to change a banner message on a careers page. The user selects a department via the UI and the heading changes without the user having to actually edit content.
widgets
. The export_to_template_context
parameter is not required. The syntax is as follows:
content.widgets
won’t access global modules.export_to_template_context
.
content.widgets.custom_blog_link.body.value
. While the widget_data
is not available to the blog listing, the value of that field is still stored within the context of the individual content’s widgets.
A basic blog listing loop that renders this custom link with each post is shown below. If using this technique, you would want to ensure that you add the subdirectory automatically created for each blog post to your robots.txt file to prevent those empty posts from being crawled by Google and other crawlers.