public function edit(Request $request, Image $image): Response
{
// сохраняю текущую строку с именем фаила и преобразую в объект ее у Entity
if ($fileName = $image->getImageFile()) {
$image->setImageFile(new File(substr($fileName, 1)));
}
$form = $this->createForm(ImageType::class, $image);
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid())
{
// если новый фаил не загружен был - возвращаю прежнюю строку
if (!($image->getImageFile() instanceof UploadedFile)) {
$image->setImageFile($fileName);
}
$em = $this->getDoctrine()->getManager();
$em->flush();
$this->addFlash('success', 'image.updated_successfully');
return $this->redirectToRoute('admin_image_show', ['id' => $image->getId()]);
}
return $this->render('admin/gallery/image_edit.html.twig', [
'image' => $image,
'form' => $form->createView(),
]);
}
Сейчас вы их странно инициализируете. По сути, вторым аргументом передаются как раз такие дефолтные значения
$filterForm = $this->createForm(ImageFilterType::class, [
'sortBy' => $request->get('sortBy'),
'direction' => $request->get('direction'),
])->handleRequest($request);
$direction = $request->get('direction', 'DESC');
$sortBy = $request->get('sortBy', 'id');
public function getBlockPrefix()
{
return '';
}
// инициализация параметров запроса и запись их в запрос, если не были инициализированы (форма не отправлялась)
$request->request->set('direction', $request->get('direction', 'DESC'));
$request->request->set('sortBy', $request->get('sortBy', 'id'));
// а дальше в ручную задаю значения в форму, даже если она ранее не отрисовывалась и не отправлялась
$filterForm = $this->createForm(ImageFilterType::class, [
'sortBy' => $request->get('sortBy'),
'direction' => $request->get('direction'),
])->handleRequest($request);
$images = $imageRepository->findEntities(
[],
$request->get('sortBy'),
$request->get('direction'),
$page, 10);
{{ pagerfanta(images, 'twitter_bootstrap3_translated', {
routeName: 'admin_image_list',
routeParams: {
'sortBy': app.request.attributes.get('sortBy'),
'direction': app.request.attributes.get('direction')
}
}) }}