Bonjour,
Mon problème est que le render de certaines de mes fonctions utilise le mauvais template.
Au lieu d'utiliser le template indiqué dans le render, il utilise celui de ma page d'accueil.
L'erreur est survenu après que j'ai modifié la route dans la fonction
Je suis en Symfony 5.3
Ce n'est pas le cas pour toutes les fonctions donc je vais mettre ci dessous un controller qui a le problème (PanierController), et un autre qui fonctionne correctement(ContactController), peut-être que des yeux avertis me diront l'erreur que j'ai fait.
Edit : Après avoir fait des test, quand j'appelle des routes qui n'existe pas genre abeillebouvillonne.fr/html ou abeillebouvillonne.fr/porte; au lieu d'avoir une page d'erreur, j'ai le même affichage que le template de la page d'accueil sans les données liées à la fonction home.
PanierController
<?php
namespace App\Controller;
use App\Repository\CategorysRepository;
use App\Repository\ProductsRepository;
use App\Repository\SocieteRepository;
use App\Services\Panier;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
class PanierController extends AbstractController
{
#[Route('/monpanier', name: 'panier')]
public function panier(Panier $panier, CategorysRepository $categorysRepository, SocieteRepository $societeRepository): Response
{
$total = $panier->getTotalPanier();
$tab = $panier->getDetailPanier();
$nb = count($panier->getDetailPanier());
return $this->render('panier/panier.html.twig', [
'items' => $tab,
'montant' => $total,
'categorys' => $categorysRepository->findAll(),
'count' => $nb,
'societe' => $societeRepository->find(1),
]);
}
}
ContactController:
<?php
namespace App\Controller;
use App\Form\ContactType;
use App\Repository\CategorysRepository;
use App\Repository\SocieteRepository;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\Mime\Email;
use Symfony\Component\Routing\Annotation\Route;
use Symfony\Component\Mailer\MailerInterface;
class ContactController extends AbstractController
{
#[Route('/nous-contacter', name: 'contact')]
public function index(Request $request, MailerInterface $mailer, CategorysRepository $categorysRepository, SocieteRepository $societeRepository)
{
$form = $this->createForm(ContactType::class);
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
$contactFormData = $form->getData();
$message = (new Email())
->from('abeillebouvillonne@gmail.com')
->to('abeillebouvillonne@gmail.com')
->subject('vous avez reçu un email')
->text(
'Sender : ' . $contactFormData['nom'] . '(' . $contactFormData['email'] . ')' . \PHP_EOL .
$contactFormData['message'],
'text/plain'
);
$mailer->send($message);
$this->addFlash('success', 'Votre message a été envoyé');
return $this->redirectToRoute('contact');
}
return $this->render('contact/index.html.twig', [
'our_form' => $form->createView(),
'categorys' => $categorysRepository->findAll(),
'societe' => $societeRepository->find(1),
]);
}
}
Ce que je veux
Qu emon render utilise le bon template
Ce que j'obtiens
Le render utilise le chemin home/index.html.twig au lieu de celui demandé
Merci par avance
Sixale