Commit 2b1d0a26 authored by Paul Morisse's avatar Paul Morisse
Browse files

feat: liste des recettes (sans les tags)

parent 5c71926b
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -6,6 +6,8 @@

// Le retour se chargera aussi de gérer les exceptions avec un try / catch

require_once 'src/controllers/controleur.php';
require_once 'src/controllers/listeRecettes.php';
require_once 'src/controllers/accueil.php';

try{
@@ -19,6 +21,11 @@ try{
    // Si ça ne correspond à aucune page, on renvoie vers la page d'erreur
    // (pour l'instant on a pas d'autre page, donc on retourne forcément une erreur)
    switch($_GET['action']){
        case 'listeRecettes':
            $controller = new ListeRecettesControleur;
            $controller->executer();
            break;

        default:
            throw new Exception("la page demandée n'a pas été trouvée");
    }
+5 −1
Original line number Diff line number Diff line
@@ -3,9 +3,13 @@
require_once 'src/model/recetteManager.php';
require_once 'src/controllers/controleur.php';

require_once 'templates/carteRecette.php';
require_once 'templates/nosRecettes.php';

class ListeRecettesControleur extends Controleur{

    public function executer() {
        $recettes = (new RecetteManager)->getRecettes();
        
        afficherListeRecettes($recettes);
    }
}
 No newline at end of file
+28 −0
Original line number Diff line number Diff line
<?php
// Ceci est une vue bidon
// Une vue se contente de récupérer les variables qu'on lui donne est de formatter la page html

// Le code HTML sera placé en énorme majorité dans les vues et le layout


require_once('./src/model/recette.php');

function afficher($recette){?>
    <div class="col">
    <div class="d-flex flex-column flex-lg-row">
        <div class="w-100" style="max-width: initial;"><img class="rounded img-fluid d-block w-100 fit-cover" style="height: 200px;" src= "<?=$recette->getUrlImage()?>">
            <ul style="background: transparent;padding-left: 0;border: 2px none var(--bs-primary-text-emphasis) ;border-left-color: var(--bs-primary-text-emphasis);">
                <li style="background: var(--bs-primary-border-subtle);border-radius: 54px;border-top-left-radius: 0;border-bottom-left-radius: 0;text-align: center;border-style: solid;border-color: var(--bs-primary);">tag 1</li>
                <li style="background: var(--bs-primary-border-subtle);border-radius: 54px;border-top-left-radius: 0;border-bottom-left-radius: 0;text-align: center;border-style: solid;border-color: var(--bs-primary);">tag 1</li>
                <li style="background: var(--bs-primary-border-subtle);border-radius: 54px;border-top-left-radius: 0;border-bottom-left-radius: 0;text-align: center;border-style: solid;border-color: var(--bs-primary);">tag 1</li>
                <li style="background: var(--bs-primary-border-subtle);border-radius: 54px;border-top-left-radius: 0;border-bottom-left-radius: 0;text-align: center;border-style: solid;border-color: var(--bs-primary);">tag 1</li>
            </ul>
        </div>
        <div class="py-4 py-lg-0 px-lg-4" style="width: 100%;">
            <h4><?= $recette->getTitre() ?></h4>
            <p></p>
            <p><?= $recette->getResume()?></p>
        </div>
    </div>
    </div>
<?php }
+2 −2
Original line number Diff line number Diff line
@@ -27,8 +27,8 @@
        <div class="container"><a class="navbar-brand d-flex align-items-center" href="#" style="width: 200px;height: 70px;padding: 0px;margin: 0px;"><span class="bs-icon-sm bs-icon-rounded bs-icon-primary d-flex justify-content-center align-items-center me-2 bs-icon" style="transform: translate(0px);width: inherit;height: inherit;margin: 5mm;background: transparent;margin-right: 5mm;"><img src="assets/img/Logo.png" style="width: inherit;display: flex;position: static;overflow: auto;height: inherit;margin: initial;"></span></a><button data-bs-toggle="collapse" class="navbar-toggler" data-bs-target="#navcol-5"><span class="visually-hidden">Toggle navigation</span><span class="navbar-toggler-icon"></span></button>
            <div class="collapse navbar-collapse" id="navcol-5" style="font-family: sans-serif;font-size: 25px;">
                <ul class="navbar-nav ms-auto">
                    <li class="nav-item"><a class="nav-link active" href="#">Accueil</a></li>
                    <li class="nav-item"><a class="nav-link" href="#">Nos recettes</a></li>
                    <li class="nav-item"><a class="nav-link active" href=".">Accueil</a></li>
                    <li class="nav-item"><a class="nav-link" href=".?action=listeRecettes">Nos recettes</a></li>
                    <li class="nav-item"></li>
                    <li class="nav-item dropdown show"><a class="dropdown-toggle nav-link" aria-expanded="true" data-bs-toggle="dropdown" href="#">Filtres&nbsp;</a>
                        <div class="dropdown-menu" data-bs-popper="none" style="--bs-body-bg: var(--bs-primary);background: var(--bs-secondary);" data-bs-theme="light"><a class="dropdown-item" href="#" data-bs-theme="light"><span style="color: rgb(42, 57, 144); background-color: rgba(42, 57, 144, 0);">Catégories</span></a><a class="dropdown-item" href="#"><span style="color: rgb(42, 57, 144);">Titre</span></a><a class="dropdown-item" href="#"><span style="color: rgb(42, 57, 144);">Ingredients</span></a></div>
+42 −0
Original line number Diff line number Diff line
<?php
// Ceci est une vue bidon
// Une vue se contente de récupérer les variables qu'on lui donne est de formatter la page html

// Le code HTML sera placé en énorme majorité dans les vues et le layout

require_once 'templates/carteRecette.php';
require_once 'src/model/recette.php';

function afficherListeRecettes($recettes){
    $titre = 'Nos Recettes';

    // ob_start crée un buffer qui va récupérer tout ce qui est censé être affiché (echo + HTML) 
    ob_start();
    ?>

    <div class="container py-4 py-xl-5">
            <div class="row mb-5">
                <div class="col-md-8 col-xl-6 text-center mx-auto">
                    <h2>Nos recettes</h2>
                    <p class="w-lg-50">Les recettes pour vos p'tits gloutons, certifiées savoureux par notre équipe de cuistots du dimanche</p>
                </div>
            </div>
            <div class="row gy-4 row-cols-1 row-cols-md-2">
                <?php
                foreach($recettes as $recette){
                    if($recette->estValide()){
                        afficher($recette);
                    }
                }
                ?>
            </div>
        </div>
        <div class="container py-4 py-xl-5"><button class="btn btn-primary" type="button" style="width: 3em;height: 3em;border-radius: 50%;font-size: 34px;padding-bottom: 10px;margin: auto;display: block;">+</button></div>
        <script src="assets/bootstrap/js/bootstrap.min.js"></script>
        <script src="assets/js/Simple-Slider-swiper-bundle.min.js"></script>
        <script src="assets/js/Simple-Slider.js"></script>
    <?php

    $contenu = ob_get_clean();
    require 'templates/layout.php';
}
 No newline at end of file