Je veux utiliser une valeur dans mon panneau frontal pour spécifier un fichier de données à parcourir en boucle, mais je n'arrive pas à le faire fonctionner.
J'ai un fichier de données dans _data/sidebars/sidebar1.yml. Il contient :
- first
- second
- third
Sur une page, j'ai ce message d'accueil :
---
title: My page
sidebar: site.data.sidebar.sidebar1
---
Je veux utiliser ce code :
{% for entry in page.sidebar %}
* {{entry}}
{% endfor %}
Cependant, cela ne fonctionne pas. J'ai essayé un certain nombre de choses (dont les suivantes assign
y capture
pour définir le contenu de la page.sidebar, mais rien ne semble fonctionner).
La seule chose qui fonctionne est de faire ça :
{% if page.sidebar == "site.data.sidebars.sidebar1" %}
{% assign sidebar = site.data.sidebars.sidebar1 %}
{% endif %}
{% for entry in sidebar %}
* {{entry}}
{% endfor %}
Cependant, j'aimerais éviter ce code supplémentaire avec l'option if
car il est facile de l'oublier et j'aimerais l'automatiser davantage.
Des idées sur la façon de faire fonctionner ce système ?