<?php
namespace App\Controller;
use App\Entity\Demande;
use App\Entity\Produit;
use App\Form\DemandeType;
use App\Form\DemandeursType;
use App\Form\FromDemandeType;
use App\Repository\DemandeRepository;
use App\Repository\ProduitRepository;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
class AccueilController extends AbstractController
{
private $produit;
public function __construct(ProduitRepository $produitRepository)
{
$this->produit = $produitRepository;
}
/**
* @Route("/", name="app_accueil")
*/
public function accueil (Request $request){
$produits = $this->produit->findBy(
['valide'=>true],
['createdAt' => 'DESC']
);
$rand_id = [];
$total = count($this->produit->findAll());
for ($i = 1; $i <= 5; $i++){
$rand_id[] = random_int(1,$total);
}
$randon_produits =$this->produit->findBy(['id'=>$rand_id]);
$produit_offres = $this->produit->findBy(['id' => [10, 7, 5, 3]]);
return $this->render('accueil/index.html.twig', [
'produits' => $produits,
'radom'=>$randon_produits,
'produit_offres'=>$produit_offres
/* 'categories' => $categories*/
]);
}
/**
* @Route("/nos-produits", name="app_accueil_nos_produit")
*/
public function boutique (Request $request){
$produits = $this->produit->findBy(
['valide'=>true],
['createdAt' => 'DESC']
);
return $this->render('accueil/categorie_produits.html.twig', [
'produits' => $produits,
/* 'categories' => $categories*/
]);
}
/**
* @Route("/ucctm-dogbo", name="app_accueil_about_us")
*/
public function aboutUs (){
return $this->render('accueil/about.html.twig');
}
/**
* @Route("/nous-contacter", name="app_accueil_contact")
*/
public function contact (){
return $this->render('accueil/contact.html.twig');
}
/**
* @Route("/faire-une-demande", name="app_accueil_demandes")
*/
public function demande (Request $request, DemandeRepository $demandeRepository){
$demande = new Demande();
$form = $this->createForm(FromDemandeType::class, $demande);
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
$demandeRepository->add($demande);
return $this->redirectToRoute('app_demande_index', [], Response::HTTP_SEE_OTHER);
}
return $this->renderForm('accueil/demande.html.twig', [
'demande' => $demande,
'form' => $form,
]);
}
/**
* @Route("/produits/{slug}", name="app_accueil_show_produit")
*/
public function showProduit (Produit $produit,ProduitRepository $produitRepository){
$rand_id = [];
$total = count($produitRepository->findAll());
for ($i = 1; $i <= 4; $i++){
$rand_id[] = random_int(1,$total);
}
$produits = $produitRepository->findBy(['id'=>$rand_id]);
return $this->render('accueil/produit.html.twig', [
'produit' => $produit,
'produits' => $produits,
]);
}
/**
* @Route("/politique-de-confidentialite", name="app_accueil_politique")
*/
public function politique(){
return $this->render('base.html.twig');
}
/**
* @Route("/cgu", name="app_accueil_cgu")
*/
public function cgu(){
return $this->render('base.html.twig');
}
}