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

MkFramework Discussion :

Création de Menu avec des éléments d'une table


Sujet :

MkFramework

  1. #1
    Membre éprouvé
    Homme Profil pro
    Benevole
    Inscrit en
    Mai 2004
    Messages
    1 679
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Benevole
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 679
    Points : 954
    Points
    954
    Par défaut Création de Menu avec des éléments d'une table
    Bonsoir Imikado

    J'aimerais savoir s'il est possible de remplir mon module menu avec les éléments d'une table.
    je m'explique:
    j'ai une table avec la liste des campus. je voudrais donc qu'a chaque fois qu'une ligne de campus est crée dans ma table, on puisse avoir une ligne au niveau du menu (en relation avec notre application desktop).
    exemple:
    Acceuil
    Campus A
    Campus B
    etc..
    Si c'est le cas (possible) alors comment dois je m'y prendre.
    Merci

  2. #2
    Rédacteur
    Avatar de imikado
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    5 239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 239
    Points : 19 100
    Points
    19 100
    Billets dans le blog
    17
    Par défaut
    Oui c'est possible:
    Dans le module menu, il y a un fichier main.php qui contient le "controleur" du module
    qui ressemble à ceci
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    public function _index(){
    	$tLink=array(
    			'Articles' => 'article::list',
    			'Mon libelle' => 'module::action',
     
    	);
     
    	$oView=new _view('menu::index');
    	$oView->tLink=$tLink;
     
    	return $oView;
    }

    Il vous faut modifier le tableau php: vous pouvez très bien faire une requete et boucler sur les résultats pour ajouter des lignes de menus, par exemple:

    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
     
    public function _index(){
    	//requete de recuperation des liens en base
    	$tLinkMenu=model_Link::getInstance()->findAllLinks();
    	$tLink=array();
    	//boucle sur les enregistrements pour ajouter de nouveau liens au menu
    	foreach($tLinkMenu as $oMenu){
    		$tLink[ $oMenu->libelle ]=$oMenu->link;
    	}
     
    	$oView=new _view('menu::index');
    	$oView->tLink=$tLink;
    	return $oView;
    }
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  3. #3
    Membre éprouvé
    Homme Profil pro
    Benevole
    Inscrit en
    Mai 2004
    Messages
    1 679
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Benevole
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 679
    Points : 954
    Points
    954
    Par défaut
    Je comprend le principe. Mais dans le code je comprend pas ou se trouve le lien vers la table d'ou dois venir les données.
    Merci

  4. #4
    Rédacteur
    Avatar de imikado
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    5 239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 239
    Points : 19 100
    Points
    19 100
    Billets dans le blog
    17
    Par défaut
    Vous avez créé un module crud pour votre table de campus ?
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  5. #5
    Membre éprouvé
    Homme Profil pro
    Benevole
    Inscrit en
    Mai 2004
    Messages
    1 679
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Benevole
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 679
    Points : 954
    Points
    954
    Par défaut
    oui j'ai un module CRUD pour cette table

  6. #6
    Rédacteur
    Avatar de imikado
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    5 239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 239
    Points : 19 100
    Points
    19 100
    Billets dans le blog
    17
    Par défaut
    Alors, j'ai créé une petite application de test

    Soit une table campus, avec le module CRUD campus et donc une classe modèle model_campus

    Il faut d'abord modifier le module menu comme suit:
    Fichier module/menu/main.php
    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
     
    <?php
    Class module_menu extends abstract_moduleembedded{
     
    	public function _index(){
     
    		$tLink=array(
    			'accueil' => array('default::index'),
    			'Editer les campus' => array('campus::index'),
     
    		);
     
    		//on recupere la liste des campus
    		$tCampus=model_campus::getInstance()->findAll();
    		if($tCampus){
    			foreach($tCampus as $oCampus){
    				//en boucle on ajoute un lien pour chaque campus
    				$tLink[ $oCampus->name ] = array('campus::show',array('id'=> $oCampus->id) );
    			}
    		}
    		$oView=new _view('menu::index');
    		$oView->tLink=$tLink;
     
    		return $oView;
    	}
    }
    Puis on modifie la vue du menu: module/menu/view/index.php
    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
     
    <ul>
    <?php foreach($this->tLink as $sLibelle => $tDetailLink): ?>
    	<?php
    	$tParam=null;
    	if(isset($tDetailLink[1])){
    		$tParam=$tDetailLink[1];
    	}
    	$sLink=$tDetailLink[0];
     
    	if(
    		(
    			_root::getParamNav()==$sLink
    			and
    			is_array($tParam)
    			and 
    			isset($tParam['id'])
    			and
    			_root::getParam('id')==$tParam['id']
    		)
    		or(
    			$tParam==null
    			and
    			_root::getParamNav()==$sLink
    		)
     
    	):?>
    		<li class="selectionne"><a href="<?php echo $this->getLink($sLink,$tParam) ?>"><?php echo $sLibelle ?></a></li>
    	<?php else:?>
    		<li><a href="<?php echo $this->getLink($sLink,$tParam) ?>"><?php echo $sLibelle ?></a></li>
    	<?php endif;?>
     
    <?php endforeach;?>
    </ul>
    Nom : campusExple.png
Affichages : 99
Taille : 5,0 Ko
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  7. #7
    Membre éprouvé
    Homme Profil pro
    Benevole
    Inscrit en
    Mai 2004
    Messages
    1 679
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Benevole
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 679
    Points : 954
    Points
    954
    Par défaut
    ok je vois, mais dans nos règles l'utilisateur ne dois pas pouvoir enregistrer un campus. donc le lien "Editer les campus" ne nous s'arrange pas trop. Vu que les campus sont crées depuis une autre application qui a accès aussi a la base.

    Que dois je modifier dans ce cas pour ne faire que de l’affichage des campus crées dans mon menu ?

  8. #8
    Rédacteur
    Avatar de imikado
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    5 239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 239
    Points : 19 100
    Points
    19 100
    Billets dans le blog
    17
    Par défaut
    Il vous suffit de deux choses:
    1. générer un module CRUD sans les liens d'ajout et de modification
    2. enlever le lien du menu

    Il faut modifier le module menu comme suit:
    Fichier module/menu/main.php
    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
     
    <?php
    Class module_menu extends abstract_moduleembedded{
     
    	public function _index(){
     
    		$tLink=array(
    			'accueil' => array('default::index'),
     
    		);
     
    		//on recupere la liste des campus
    		$tCampus=model_campus::getInstance()->findAll();
    		if($tCampus){
    			foreach($tCampus as $oCampus){
    				//en boucle on ajoute un lien pour chaque campus
    				$tLink[ $oCampus->name ] = array('campus::show',array('id'=> $oCampus->id) );
    			}
    		}
    		$oView=new _view('menu::index');
    		$oView->tLink=$tLink;
     
    		return $oView;
    	}
    }
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  9. #9
    Membre éprouvé
    Homme Profil pro
    Benevole
    Inscrit en
    Mai 2004
    Messages
    1 679
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Benevole
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 679
    Points : 954
    Points
    954
    Par défaut
    Je pense que la c'est bon.
    Merci

  10. #10
    Rédacteur
    Avatar de imikado
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    5 239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 239
    Points : 19 100
    Points
    19 100
    Billets dans le blog
    17
    Par défaut
    Pour info, j'ai publié une vidéo sur le sujet (pour le podcast) http://mkframework.com/podcasts_20.html
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 12/04/2013, 12h45
  2. [Forum] Création de menu avec des sous menu en ascenseur
    Par fraizas77 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 20/08/2012, 14h37
  3. [MySQL] Somme des éléments d'une table
    Par menoulette dans le forum PHP & Base de données
    Réponses: 14
    Dernier message: 10/09/2009, 17h53
  4. Ranger des éléments d'une table
    Par SOPSOU dans le forum Bases de données
    Réponses: 0
    Dernier message: 08/10/2007, 15h54
  5. Liaison avec des images dans une table
    Par ValérieBruxelles dans le forum Access
    Réponses: 5
    Dernier message: 25/11/2005, 14h21

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