У меня возникла небольшая проблема с маршрутизацией Symfony.Проблема с маршрутизацией Symfony
Это мой контроллер действия:
/**
* @Route("/admin/pricelist/list/{year}/{week}", name="pricelist_list")
*/
public function getPricelistAction(Request $request, $year = 0, $week = 0)
{
$entityManager = $this->getDoctrine()->getManager();
if ($year === 0) {
$year = (int)date('Y');
}
if ($week === 0) {
$week = (int)date('W');
}
$start = new \DateTimeImmutable($year . '-1-1');
$stop = $start->modify('+1 year');
// ... I return the week and year to my twig
}
Теперь в моей веточке у меня есть следующие:
<div>
<div class="form-group">
<label>Year</label>
<select class="form-control" id="yearSelection">
{% for y in (year-3)..(year+3) %}
<option {% if y == year %}selected="selected"{% endif %}
data-url="{{ path('pricelist_list', {'year': y, 'week': week}) }}">
{{ y }}
</option>
{% endfor %}
</select>
</div>
<div class="form-group">
<label>Week</label>
<select class="form-control" id="weekSelection">
{% for key, w in weeks %}
<option {% if w == week %}selected="selected"{% endif %}
data-url="{{ url('pricelist_list', {'year': year, 'week': w}) }}">
{{ w }}
</option>
{% endfor %}
</select>
</div>
</div>
Но когда я выбираю год или неделю, это не приведет меня url admin/pricelist/list/{{year}}/{{week}}
как предложено в моей маршрутизации, но до: admin/pricelist/list?year=2015&week=8
.
Я действительно не знаю, что я делаю неправильно, поскольку другие функции на других страницах работают правильно с маршрутизацией таким образом.
Может кто-нибудь указать мне в правильном направлении?
Возможно ли, что у вас есть другой маршрут с тем же именем, который не принимает параметры в URL-адресе, и поэтому ваши параметры преобразуются в строку запроса? – DonCallisto
Хм, я просмотрел свой проект и нашел несколько таких переадресаций: $ this-> redirect ($ this-> generateUrl ('pricelist_list')); Это может быть причиной? – Matheno
Нет, перенаправление не должно быть проблемой вообще. Я вижу, что вы используете path() и url(), знаете ли вы о различиях, не так ли? – DonCallisto