Je me sens un peu factice car je ne peux pas le faire fonctionner ..
J'essaie de vérifier si une chaîne contient une sous-chaîne dans ma brindille.
{% set url = url('<current>') %}
{{ url }}
{% if 'my-delivery' in url %}
//print something
{% endif %}
L'URL est imprimée en dehors de l'instruction if mais elle n'entre pas dans l'instruction if et l'url contient "my-delivery".
Une idée pourquoi ça ne marche pas?
La fonction twig url()
renvoie un tableau de rendu, lorsque vous le restituez avec le filtre twig filter |render
vous obtenez un objet de balisage et lorsque vous le restituez, vous obtenez une chaîne, que vous pouvez vérifier si elle contient une sous-chaîne:
{% set url = url('<current>') %}
{% if 'test' in url|render|render %}
<p>url contains "test"</p>
{% endif %}
url()
renvoie un tableau, comme le dit 4x4. Vous pouvez le voir si vous faites une boucle for sur la variable.
path()
, cependant, semble renvoyer une chaîne sur laquelle vous pouvez effectuer votre opération. Mais cela n'inclura pas le nom d'hôte.