IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Menu boostrap avec sous menu et structure MVC


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2019
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 7
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2019
    Messages : 1
    Par défaut Menu boostrap avec sous menu et structure MVC
    Bonjour,
    Sur un site que je suis en train de faire, je rencontre un soucis avec la structure MVC dans le menu.
    Ce site sans la structure MVC, le menu bootstrap fonctionne super bien avec le sous menu.
    Quand je mets la structure mvc cela ne marche plus.

    Voici le code du menu que j'ai mis dans un fichier a part puisque je fais un include de le fichier header.php :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    <nav class="navbar fixed-top navbar-expand-lg navbar-light bg-light">
       <div class="burger">
          <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
             <span class="navbar-toggler-icon"></span>
          </button>
       </div>
       <div class="animated bounceInLeft delay-1s collapse navbar-collapse" id="navbarSupportedContent">
          <ul class="navbar-nav ml-md-auto ml-auto mr-auto">
             <li class="nav-item align-middle accueil"><a class="nav-link" href="/"><img class="image_accueil" src="<?= MEDIA; ?>/images/png/35px/accueil.png" alt="Icône pour l'accueil en forme de ruche" title="Icône pour l'accueil en forme de ruche" /></a></li>
             <li id="m-parrain" class="nav-item"><a class="nav-link" href="/parrainage" title="Accès à la page du Parrainage">Parrainage</a></li>
             <li id="m-exploitation" class="nav-item"><a class="nav-link" href="/exploitation" title="Accès à la page de L'exploitation">L'exploitation</a></li>
             <li id="m-sos-essaim" class="nav-item"><a class="nav-link sos_essaim" href="/sos_essaim" title="Accès à la page SOS Essaim">SOS Essaim</a></li>
             <li id="m-education-nature" class="nav-item"><a class="nav-link educ_nat" href="/education_nature" title="Accès à la page Education Nature">Education Nature</a></li>
             <li id="m-pollinisation" class="nav-item"><a class="nav-link" href="/pollinisation" title="Accès à la page de la Pollinisation">Pollinisation</a></li>
             <li id="m-boutique" class="nav-item"><a class="nav-link" href="/boutique" title="Accès à la page de la Boutique">Boutique</a></li>
            <li id="m-galerie" class="nav-item"><a class="nav-link dropdown-toggle" href="/galerie" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" title="Accès aux Galeries Photos et Vidéos">Galeries</a>
                <div class="dropdown-menu" aria-labelledby="navbarDropdown">
                   <a class="dropdown-item" href="/galerie_photos" title="Accès à la page Galerie Photos">Galerie Photos</a>
                   <a class="dropdown-item" href="/galerie_videos" title="Accès à la page Galerie Vidéos">Galerie Vidéos</a>
                </div>
             </li>
             <li id="m-contact" class="nav-item"><a class="nav-link" href="/contact" title="Accès à la page Contact">Contact</a></li>
          </ul>
       </div>
    </nav>

    Voici le fichier php ou je définis le fonctionnement de mes liens :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    <?php
    class Application {
      private $controleurs = 'accueil';
      private $methode = 'index';
      private $params = [];
     
      public function __construct() {
        $route = $this->getParams();
     
        if ( file_exists( ROOT . 'application/controleurs/' . $route[0] . '.php' ) ) {
          $this->controleurs = $route[0];
          unset ( $route[0] );
        }
     
        require_once ROOT . 'application/controleurs/' . $this->controleurs . '.php';
     
        if ( isset ( $route[1] ) ) {
          if ( method_exists( $this->controleurs, $route[1] ) ) {
            $this->methode = $route[1];
            unset( $route[1] );
          }
        }
     
        $this->controleurs = new $this->controleurs;
     
        $this->params = $route ? array_values( $route ) : [];
     
        call_user_func_array( [ $this->controleurs, $this->methode ], $this->params );
      }
     
      private function getParams() {
        if ( isset( $_GET['route'] ) )
          return explode( '/', filter_var( rtrim( $_GET['route'], '/' ), FILTER_SANITIZE_URL ) );
      }
    }

    Voici mon controleur :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <?php
    class Controleur {
    	protected function vues( string $vues, array $data = [] ) {
    		require_once ROOT . 'application/vues/' . $vues . '.php';
    	}
    }

    Merci de m'aider afin de pouvoir afficher le sous menu de galeries svp.

  2. #2
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    Salut,

    j'ai regardé ton code et plusieurs remarques sont à prendre en compte :
    - montre le contenu de $route lors d'un appel basique
    - Le MVC est hyper utilisé, les termes doivent rester le plus standard possible : methode est appelé action, controleurscontroller...
    - je t'invite à aller te documenter un peu plus sur la logique et le mécanisme du MVC MVC
    - Prends un papier et un crayon pour schématiser le fonctionnement global

Discussions similaires

  1. menu déroulant (avec sous menus)
    Par devlopassion dans le forum Général Conception Web
    Réponses: 2
    Dernier message: 14/04/2008, 11h55
  2. menu horiznotal avec sous menu
    Par niemons dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 02/04/2008, 09h18
  3. [Joomla!] [Joomla 1.0] Menu avec sous-menus
    Par jakkihm dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 22/02/2008, 10h33
  4. Menu, avec sous menu et sous sous menu
    Par flolane dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 15/12/2006, 08h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo