如何在Twig中检测请求查询参数里filter键的值是否存在?
在Twig中检测查询参数
filter是否存在的方法 嘿,作为Twig新手碰到这个问题完全正常,我来给你讲讲怎么轻松检测URL里的filter查询参数~
从你用{{ dump(app.request.query) }}输出的结果来看,app.request.query是一个ParameterBag对象,里面已经包含了filter: "news"这个参数,下面是几种实用的检测方式:
检查参数是否存在:用
has()方法可以直接判断参数是否存在,不管它的值是什么:{% if app.request.query.has('filter') %} <p>Filter参数已存在,值为: {{ app.request.query.get('filter') }}</p> {% else %} <p>没有设置Filter参数</p> {% endif %}检查参数存在且非空:如果想同时确保参数有实际值,可以直接用
get()获取后判断,因为当参数不存在时get()会返回null:{% set filterVal = app.request.query.get('filter') %} {% if filterVal %} 当前筛选条件是: {{ filterVal }} {% else %} 未指定筛选条件 {% endif %}精准匹配参数值:如果需要判断参数是否是特定值(比如你这里的
news),可以直接对比:{% if app.request.query.get('filter') == 'news' %} 正在展示新闻类内容 {% endif %}
这些方法都是Twig里处理请求参数的常规操作,你可以根据自己的需求选合适的方式~
内容的提问来源于stack exchange,提问作者FortuneSoldier
相关产品推荐
相关产品推荐

