Я хочу отобразить страницу продукта Twig и ее URL-слаг. Мой контроллер:
* @Route("/item/{id}", name="app_showitem_getid", requirements={"id": "\d+"})
* @param int $id
* @return Response
* @throws \Doctrine\ORM\NonUniqueResultException
public function getid(int $id):Response
{
$repository = $this->getDoctrine()->getRepository(Item::class);
$item = $repository->findBy($id);
return $this->render("item/prodpage.html.twig", ["items"=>$item]);
}
и
* @Route("/item/{slug}", name="app_showslug_getslug")
* @return Response
* @throws \Doctrine\ORM\NonUniqueResultException
public function getslug(string $slug)
{
$em = $this->getDoctrine()->getManager();
$repository = $em->getRepository(Item::class);
$itemSlug = $repository->findBy(["slug"=>$slug]);
$this->generateUrl('app_showslug_getslug', [array("slug"=> array($itemSlug))],UrlGeneratorInterface::ABSOLUTE_URL);
}
Файл rout.yaml:
app_item_getid:
path:/item/{id}
controller: App\Controller\ShowitemController::getid
requirements:
id:'\d+'
Мой шаблон.html.twig doc:
{% for item in items%}
-->This link target the product-page:
"{{ path('app_showitem_getid', {'id': item.id}) }}"
{% endfor%}
Как я могу сгенерировать template.twig, который нацелен на страницу продукта элемента по идентификатору и его слагу?
Я не могу правильно отобразить страницу продукта, так как она выдает ошибку «отсутствуют параметры», но ее ссылка есть в URL!
Чего не хватает?