У меня есть небольшая форма html в моей ветке, которая помогает мне фильтровать результаты, и я хотел бы, когда пользователь добавит значение в качестве примера foo
и submit, он сохранит значение, которое он или она просто ввел после обновления страницы.
Я искал и не мог найти вещь, которая заставит ее работать, или я делаю это очень плохо. Мое единственное решение теперь сделать это в JS.
Я покажу вам свой код
моя форма в моей ветке
<form action="{{ path('st_backoffice_commerce_offre') }}" method="get">
<input name="filter" type="text" value="" id=userInput">
<button type="submit" class="btn btn-default">Filtrer</button>
</form>
мой контроллер, где я настраиваю переменную filter
private function resultsAction(Request $request, User $user, $type, $archive)
{
$em = $this->getDoctrine()->getManager();
$paginator = $this->get('knp_paginator');
$filter = $request->query->get('filter');
$qb = $em->getRepository("STUserBundle:Operation")->getQueryByTypeAndPro($type, $user, $archive, $filter);
$results = $paginator->paginate(
$qb,
$request->query->get('page',1),
$request->query->get('limit',50),
[
'defaultSortFieldName' => 'opn.dateCreation',
'defaultSortDirection' => 'desc'
]
);
return array("results" => $results, "archive" => $archive);
}
public function offreAction(Request $request, User $user, $archive = false)
{
return $this->resultsAction($request, $user, Operation::OFFRE_COMMERCIALE, $archive);
}
и код JS, который я нашел, чтобы попытаться сделать эту работу
var $userInput;
$("filter").on("change", function(){
$userInput = $("filter").val();
});
Я попробовал также PHP-код в twig, но... это была не очень хорошая идея, так как я не мог заставить его работать. Так что я застрял с довольно простым вопросом, который у меня был, но не смог добиться моего вклада, чтобы остаться после обновления на ветке.
Вы можете получить доступ к объекту запроса по ветке согласно документации: https://symfony.com/doc/current/reference/twig_reference.html#app
Поэтому, возможно, вы можете попробовать следующее:
<input name="filter" type="text" value="{{ app.request.query.get('filter') }}" id=userInput">