Multiple template variants¶
See #87. There is currently no support for trying out a single component with different variations in context or tag overrides, but this can worked around by creating pattern-library-only templates.
For example, for this call_to_action
template:
<div class="call-to-action">
<img class="call-to-action__image" src="{{ call_to_action.illustration.url }}" alt="">
<p class="call-to-action__heading heading heading--three">{{ call_to_action.title }}</p>
{% include "patterns/atoms/link/link.html" with type="primary" classes="call-to-action__link" href=call_to_action.get_link_url text=call_to_action.get_link_text %}
</div>
We can try it out once with the following YAML:
context:
call_to_action:
title: Will you help us protect these magnificant creatures in the UK waters?
illustration:
url: /static/images/illustrations/sharks.svg
get_link_text: Sign up for our appeal
get_link_url: '#'
If we want to try multiple variants, simply create a custom template for pattern library usage only, that renders call_to_action
multiple times:
<div class="pl-frame pl-frame--white">
<h2>Call to action</h2>
{% for call_to_action in ctas %}
<div class="pl-row {% if call_to_action.classes %}{{ call_to_action.classes }}{% endif %}">
<p>{{ call_to_action.type }}</p>
{% include "patterns/molecules/cta/call_to_action.html" with call_to_action=call_to_action %}
</div>
{% endfor %}
</div>
context:
ctas:
- type: Call to action
title: Will you help us protect these magnificant creatures in the UK waters?
illustration:
url: /static/images/illustrations/sharks.svg
get_link_text: Sign up for our appeal
get_link_url: '#'
- type: Call to action with short title
title: Will you help us?
illustration:
url: /static/images/illustrations/sharks.svg
get_link_text: Sign up for our appeal
get_link_url: '#'
- type: Call to action with long title
title: Will you help us protect these magnificant and learn how to make environmentally responsible choices when buying seafood?
illustration:
url: /static/images/illustrations/sharks.svg
get_link_text: Sign up for our appeal
get_link_url: '#'
Last update: 2024-12-11