2 回答
TA贡献1779条经验 获得超6个赞
当您点击“第 2 页”时,您不会发送“年”和“月”数据。
解决方案 1 -bills
从控制器注入表单数据
我认为,最简单的方法是将 发送$request->query->get('bills')
到树枝,formData
例如。在你的树枝上添加'bills' : formData
你的路线参数bills_paginated
如果你这样做,symfony 将在你的 url 中添加你的表单数据,并且当你更改页面时你不会丢失它们,所以当你这样做时你就有了你的$getArgs= $request->query->get('bills');
数据
解决方案 2 -bills
从树枝获取表单数据
这是最简单的解决方案,直接在树枝中获取账单表单数据,如下所示{% set formData = app.request.get('bills') %}
:在你的树枝上添加'bills' : formData
你的路线参数bills_paginated
最佳解决方案
IMO 最好和最干净的解决方案是像这样有一条包含年份和月份的路线"/bills/year/{year<[1-9]\d*>}/month/{month<[1-9]\d*>}/page/{page<[1-9]\d*>}"
TA贡献1906条经验 获得超10个赞
我自己弄明白了,谢谢大家。所以如果有人遇到和我一样的问题,我就是这样解决的:
在 twig 显示搜索结果的页面内,在 pagerfanta 分页功能的底部,我添加了一个routeParams.
{%
set params = app.request.get('bills')
%}
{% if Bills.haveToPaginate %}
<div class="card-footer pagination">
{{
pagerfanta(Bills, 'twitter_bootstrap4_translated',
{
routeName: 'bills_paginated',
routeParams:{bills:params}
})
}}
</div>
{% endif %}
现在每次我点击一个特定的页面时都params保持不变。
我希望代码足够清晰并有所帮助。
- 2 回答
- 0 关注
- 125 浏览
添加回答
举报