src/Controller/SomosController.php line 27

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use Doctrine\ORM\EntityManagerInterface;
  4. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  5. use Symfony\Component\HttpFoundation\Response;
  6. use Symfony\Component\Routing\Annotation\Route;
  7. use Symfony\Component\HttpFoundation\Request;
  8. use App\Entity\Propiedades;
  9. use App\Entity\Imagenes;
  10. use App\Entity\Regiones;
  11. use App\Entity\Modalidad;
  12. use App\Entity\TipoPropiedad;
  13. class SomosController extends AbstractController
  14. {
  15.     private $entityManager;
  16.     public function __construct(EntityManagerInterface $entityManager)
  17.     {
  18.         $this->entityManager $entityManager;
  19.     }
  20.     /**
  21.      * @Route("/quienes-somos", name="quienes-somos")
  22.      */
  23.     public function index(): Response
  24.     {
  25.         $totalPropiedades count($this->entityManager->getRepository(Propiedades::class)->getTotalPropiedadesDestacadas());
  26.         $numPaginas =0;
  27.         if ($totalPropiedades 0) {
  28.             $numPaginas ceil($totalPropiedades 6);
  29.         }
  30.         $propiedades $this->entityManager->getRepository(Propiedades::class)->getPropiedadesDestacadas();
  31.         $arrPropiedades = array();
  32.         foreach ($propiedades as $key => $propiedad) {
  33.             
  34.             $arrPropiedades[$key]["id"]            = $propiedad['id'];   
  35.             $arrPropiedades[$key]["titulo"]        = $propiedad['titulo'];
  36.             $arrPropiedades[$key]["valor"]         = $propiedad['valor'];
  37.             $arrPropiedades[$key]["uf"]            = $propiedad['uf'];
  38.             $arrPropiedades[$key]["banios"]        = $propiedad['numeroBanios'];
  39.             $arrPropiedades[$key]["dormitorios"]   = $propiedad['numeroDormitorios'];
  40.             $arrPropiedades[$key]["tipoPropiedad"] = $propiedad['tipo'];
  41.             $arrPropiedades[$key]["imagenes"]      = array();
  42.             $oImagenes    $this->entityManager->getRepository(Imagenes::class)->findBy(array("idPropiedad"=> $propiedad['id']));
  43.             foreach ($oImagenes as $keyimg => $img) {
  44.                 $arrPropiedades[$key]["imagenes"][$keyimg]["nombre"] = $img->getNombre();
  45.             }
  46.         }   
  47.         $oRegiones      $this->entityManager->getRepository(Regiones::class)->findAll();
  48.         $oModalidad     $this->entityManager->getRepository(Modalidad::class)->findAll();     
  49.         $oTipoPropiedad $this->entityManager->getRepository(TipoPropiedad::class)->findAll();
  50.         return $this->render('somos/index.html.twig', array(
  51.                 "arrPropiedades"   => $arrPropiedades,
  52.                 "numPaginas"       => $numPaginas
  53.                 "totalPropiedades" => $totalPropiedades
  54.             )
  55.         );
  56.     }
  57.     /**
  58.      * @Route("/quienes-somos/aplicar-filtro-propiedades", options={"expose"=true}, name="somos_aplicar_filtro")
  59.      */
  60.     public function aplicarFiltroPropiedadesDestacadasAction(Request $request){
  61.         $em $this->getDoctrine()->getManager();
  62.         $pagina $request->request->get('filtro_propiedad_pagina');
  63.         $numItemPaginas   6;
  64.         $offset = ($pagina 1) * $numItemPaginas;
  65.         $propiedades $em->getRepository(Propiedades::class)->aplicarFiltroPropiedadDestacada($numItemPaginas$offset);
  66.         $arrPropiedades = array();
  67.         foreach ($propiedades as $key => $propiedad) {
  68.             
  69.             $arrPropiedades[$key]["id"]            = $propiedad['id'];   
  70.             $arrPropiedades[$key]["titulo"]        = $propiedad['titulo'];
  71.             $arrPropiedades[$key]["valor"]         = $propiedad['valor'];
  72.             $arrPropiedades[$key]["uf"]            = $propiedad['uf'];
  73.             $arrPropiedades[$key]["banios"]        = $propiedad['numeroBanios'];
  74.             $arrPropiedades[$key]["dormitorios"]   = $propiedad['numeroDormitorios'];
  75.             $arrPropiedades[$key]["tipoPropiedad"] = $propiedad['tipo'];
  76.             $arrPropiedades[$key]["imagenes"]      = array();
  77.             $oImagenes    $em->getRepository(Imagenes::class)->findBy(array("idPropiedad"=> $propiedad['id']));
  78.             foreach ($oImagenes as $keyimg => $img) {
  79.                 $arrPropiedades[$key]["imagenes"][$keyimg]["nombre"] = $img->getNombre();
  80.             }
  81.         } 
  82.         $totalPropiedades count($em->getRepository(Propiedades::class)->getTotalPropiedadesDestacadas());
  83.         $numPaginas =0;
  84.         if ($totalPropiedades 0) {
  85.             $numPaginas ceil($totalPropiedades 6);
  86.         }
  87.         return $this->render('somos/mostrarFiltroPropiedadesDestacadas.html.twig'
  88.             array(
  89.                 "arrPropiedades"   => $arrPropiedades,
  90.                 "numPaginas"       => $numPaginas,
  91.                 "pagina"           => $pagina
  92.             )
  93.         );
  94.     }
  95. }