<?php
namespace App\Controller;
use Doctrine\ORM\EntityManagerInterface;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\DependencyInjection\ParameterBag\ParameterBagInterface;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
use App\Entity\Curso;
use App\Entity\Categoria;
use App\Entity\Album;
class ContenidosLibresController extends AbstractController
{
private $entityManager;
private $cursoRepository;
private $categoriaRepository;
private $albumRepository;
public function __construct(EntityManagerInterface $entityManager, ParameterBagInterface $parameterBag)
{
//Doctrine
$this->entityManager = $entityManager;
$this->cursoRepository = $this->entityManager->getRepository(Curso::class);
$this->categoriaRepository = $this->entityManager->getRepository(Categoria::class);
$this->albumRepository = $this->entityManager->getRepository(Album::class);
}
/**
* @Route("/contenidosLibres/home", name="app_contenidosLibres" , methods={"GET","HEAD","POST"})
*/
public function index(): Response
{
//Obtengo todos los cursos para mostrar
$cursos = $this->cursoRepository->findByCursosPublicos();
$categoriasCursos = $this->categoriaRepository->findByCategoriasCursos();
//Obtengo todos los albums para mostrar
$albums = $this->albumRepository->findByActivos();
//Retorno a la vista
return $this->render(
'ContenidosLibres/index.html.twig',
[
'cursos' => $cursos,
'categorias' => $categoriasCursos,
'albums' => $albums
]
);
}
}