Bonjour à toutes et à tous, j'ai un problème assez simple que je n'arrive pas à résoudre. Je ne sais pas si cela vient de mon code ou si c'est twig.
Je fais un simple select et je souhaite afficher un lien pour chaqu'une des options.
<select class="form-control" id="supervisor">
{% for i in 1..5 %}
{% if i == panier.quantity %}
<option value="{{panier.quantity}}" selected >{{panier.quantity}}</option>
{% else %}
<option value="{{i}}" >
<a href="{{ path('modification_panier', {'id': panier.id,'quantity': i })}}">{{i}}</a>
</option>
{% endif %}
{% endfor %}
</select>
Quand j'affiche mon formulaire, je n'ai pas de message d'erreur mais je n'ai aucun lien qui est affiché. Comme si twig me filtrait le code html.
euh...
j'voue jamais avoir vu de lien dans un select basic.
<select>
<option><a href="www.google.fr">test</a></option>
</select>
chez moi, j'ai pas de lien qui s'affiche, mais "test" s'affiche bien
Bonsoir.
À mon avis, tu as deux solutions, soit tu gardes ta structure de select/options en utilisant le JavaScript pour remplacer le comportement par défaut du navigateur et faire une redirection avec JavaScript lors de l'évènement change, ou alors tu simules l'aspect du select/options avec une liste (<ul><li><a href="...">...</a></li>etc ....</ul>
) et en la stylisant en CSS comme le font la plupart des librairies javascript, comme pour l'auto-complete par exemple.
Dans tous les cas, ce n'est pas une histoire de Twig qui modifierais le code que tu génères, c'est simplement le comportement par défaut de l'élément select qui permet uniquement de pouvoir sélectionner les options et non de pouvoir mettre des liens pour une redirection ou autre dans les options.
Effectivement, merci beaucoup pour vos réponses. Je vais tenter la solution change.