<?php
namespace App\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
class BibliotecaController extends AbstractController
{
/* NOTA:
* Per aggiungere una nuova galleria basta aggiungere un'entitÃ
* all'interno dell'array contenuto in getGalleries() e caricare
* tutte le foto da visualizzare nella cartella indicata da imgUri,
* numerandole con numeri da 1 in poi.
* totalPhotos permetterà alla vista di ciclare dinamicamente
* su tutte le foto. La sitemap viene aggiornata automaticamente.
* */
// METODI di utility
// restituisce le pagine impostate per visualizzare le gallery
public static function getGalleries() {
return [
'la-biblioteca' => [
'totalPhotos' => 12,
'title' => "La Biblioteca",
'alt' => "Galleria La Biblioteca - Don Uva",
'imgUri' => "assets/images/pages/biblioteca/galleria/la_biblioteca",
],
'17-luglio-2019' => [
'totalPhotos' => 3,
'title' => "17 Luglio 2019",
'alt' => "Galleria 17 Luglio 2019 - Don Uva",
'imgUri' => "assets/images/pages/biblioteca/galleria/17_luglio_2019",
],
'13-agosto-2019' => [
'totalPhotos' => 4,
'title' => "13 Agosto 2019",
'alt' => "Galleria 13 Agosto 2019 - Don Uva",
'imgUri' => "assets/images/pages/biblioteca/galleria/13_agosto_2019",
],
'settembre-2019' => [
'totalPhotos' => 8,
'title' => "Settembre 2019",
'alt' => "Galleria Settembre 2019 - Don Uva",
'imgUri' => "assets/images/pages/biblioteca/galleria/settembre_2019",
],
'25-ottobre-2019' => [
'totalPhotos' => 12,
'title' => "25 Ottobre 2019",
'alt' => "Galleria 25 Ottobre 2019 - Don Uva",
'imgUri' => "assets/images/pages/biblioteca/galleria/25_ottobre_2019",
],
'29-ottobre-2019' => [
'totalPhotos' => 9,
'title' => "29 Ottobre 2019",
'alt' => "Galleria 29 Ottobre 2019 - Don Uva",
'imgUri' => "assets/images/pages/biblioteca/galleria/29_ottobre_2019",
],
'16-novembre-2019' => [
'totalPhotos' => 3,
'title' => "16 Novembre 2019",
'alt' => "Galleria 16 Novembre 2019 - Don Uva",
'imgUri' => "assets/images/pages/biblioteca/galleria/16_novembre_2019",
],
'23-novembre-2019' => [
'totalPhotos' => 4,
'title' => "23 Novembre 2019",
'alt' => "Galleria 23 Novembre 2019 - Don Uva",
'imgUri' => "assets/images/pages/biblioteca/galleria/23_novembre_2019",
],
// aggiungi qui la nuova galleria
];
}
/**/
// METODI di routing
#[Route('/biblioteca', name: 'biblioteca', methods: ['GET', 'HEAD'])]
public function biblioteca()
{
return new Response(
$this->renderView('pages/biblioteca/biblioteca.html.twig'),
200
);
}
#[Route('/biblioteca/galleria', name: 'biblioteca-galleria', methods: ['GET', 'HEAD'])]
public function bibliotecaGalleria()
{
return new Response(
$this->renderView('pages/biblioteca/galleria/galleria.html.twig', [
'galleries' => self::getGalleries()
]),
200
);
}
#[Route('/biblioteca/galleria/{slug}', name: 'biblioteca-galleria-slug', methods: ['GET', 'HEAD'])]
public function bibliotecaGalleriaSlug(string $slug)
{
$galleryPages = self::getGalleries();
if ( ! isset($galleryPages[$slug])) {
return $this->redirectToRoute('biblioteca-galleria');
}
return new Response(
$this->renderView('pages/biblioteca/galleria/base_gallery.html.twig', $galleryPages[$slug]),
200
);
}
}