it-swarm.com.de

Wenn der String einen Teilstring enthält twig

Ich fühle mich ein bisschen dumm, weil ich es nicht zum Laufen bringen kann.

Ich versuche zu überprüfen, ob eine Zeichenfolge Teilzeichenfolge in meinem Zweig enthält.

{% set url = url('<current>') %}
{{ url }}

{% if 'my-delivery' in url %}
    //print something
{% endif %}

Die URL wird außerhalb der if-Anweisung gedruckt, gibt jedoch nicht die if-Anweisung ein und die URL enthält "my-Delivery".

Irgendeine Idee, warum es nicht funktioniert?

6
Ismini

Die twig function url() gibt ein Render-Array zurück, wenn Sie es mit dem twig filter |render Rendern, erhalten Sie ein Markup-Objekt und wenn Sie es erneut rendern, erhalten Sie eine Zeichenfolge, mit der Sie überprüfen können, ob es eine Teilzeichenfolge enthält:

{% set url = url('<current>') %}
{% if 'test' in url|render|render %}
  <p>url contains "test"</p>
{% endif %}
15
4k4

url() gibt ein Array zurück, wie 4x4 sagt. Sie können dies sehen, wenn Sie eine for-Schleife für die Variable ausführen.

path() scheint jedoch eine Zeichenfolge zurückzugeben, mit der Sie Ihre Operation ausführen können. Der Hostname wird jedoch nicht enthalten sein.

2
BWagner