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 d'un formulaire


Sujet :

MkFramework

  1. #1
    Membre régulier
    Homme Profil pro
    Enseignant
    Inscrit en
    Mars 2013
    Messages
    201
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2013
    Messages : 201
    Points : 75
    Points
    75
    Par défaut Création d'un formulaire
    Code : 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
    36
    37
    38
    39
    40
    41
    42
    <?php
    $db= new PDO('mysql:host=localhost;dbname=test','root','');
    //on concidère qu'on est sur cette page en venant de la liste des éléves où on aura recupèré son id
    $eleve_id=1;
    //a l'aide d'une requete on récupère son ateliers et on l'affiche avec la liste des machines
    $atelier_id=1;
     
    echo'<div><U>Atelier FIMM</U></div>';
    //on concidère que c'est le prof 5 qui est connecté et qui l'évalue: on aura récupéré l'id par sa connection
    $prof_id=5;
     
    $atelier_id=1;
    //on boucle sur les machines de chaque atelier
    $rqMachines = $db->query('SELECT * FROM machines WHERE atelier_id='.$atelier_id);
        while($machines=$rqMachines->fetch(PDO::FETCH_ASSOC)){
            $machine_id=$machines ['id'];
            echo '<div>'.$machines['nom'].'</div><ul>'; 
                //on boucle sur les differents niveaux d'evaluation
                $rqNiveau = $db->query('SELECT * FROM niveaux' );
                   while($niveau=$rqNiveau->fetch(PDO::FETCH_ASSOC)){ 
                       $niveau_id=$niveau['id'];
                       //on boucle sur les évaluations
                        $rqEval = $db->query('SELECT * FROM evaluations WHERE machine_id='.$machine_id.' AND niveau_id='.$niveau_id);
                        $res = $rqEval->fetchAll();
    //si pas encore évalué
                        if (count($res) == 0) {
                            //formulaire d'enregistrement de l'évaluation
                            echo '<li><input type="radio" >évaluer le niveau '.$niveau_id.'</li>';
                        } 
    //sinon on affiche son valuation.
                        else {
                            foreach ($res as $ligne) 
                            echo '<li>Niveau '.$ligne['niveau_id'].' Evalué le '.$ligne['date'].' par le prof N°'.$ligne['prof_user_id'].'</li>';
                        }         
                   }
     
           echo '</ul>';
     
     
        }
    //on envoie toutes nouvelles évaluations à la base
        echo'<INPUT TYPE="submit" NAME="nom" VALUE=" Enregistrer les evaluations ">';
    J'aurai besoin d'aide pour savoir comment m'y prendre

  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
    Quel est la question exactement ?
    Comment traduire ce code en mkframework ?
    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 régulier
    Homme Profil pro
    Enseignant
    Inscrit en
    Mars 2013
    Messages
    201
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2013
    Messages : 201
    Points : 75
    Points
    75
    Par défaut
    En fait je sais faire ce formulaire sans utiliser les objets mais ce serait lourd et complex.
    avec mkframework je sens que cela est possible.

    Ce formulaire travaille en 3 étape
    Départ-> je suis sur la liste des élèves.
    Sur la ligne de l'un d'eux il y aurait un bouton "évaluation"
    ce qui afficherait dessous la liste des machines de son atelier
    ce serait un tableau ou on aurai toutes ces machines avec à chaque fois les évaluations
    si elles ne sont pas faite il y aurait un bouton pour que le prof puisse marquer l’évaluation.

    Je pense que j'ai besoin de faire des modules intégrables. Mais je ne sais pas dans quel ordre ce serait mieux et comment le traduire. car c'est une imbrication complexe

  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
    Si je comprends bien, il faudrait une table evaluation construite ainsi:
    evaluation
    - id
    - eleve_id
    - machine_id
    - note
    - professeur_id

    Il faudrait
    1. creer la couche modèle (si ce n'est pas déjà fait) pour eleves, machine et professeur (avec les methodes getSelect correspondante)
    2. creer la couche modèle "evaluation"
    3. creer un module CRUD integrable "evaluation" avec dans le formulaire de génération
    en face de eleve_id module_eleve::getSelect()
    en face de machine_id module_machine::getSelect()
    en face de professeur_id module_professeur::getSelect()
    4. ajoutez pour commencer dans la methode _show() du module eleves l'appel au module integrable atelier (comme fait precedement pour classe/eleves, et atelier/machine)

    Pour forcer l'eleve de l'evaluation, dans le module integrable evaluation, il faudra
    1. supprimer les references à l'eleve dans les vues module/evaluation/view/new.php et edit.php
    2. forcer l'id de l'eleve dans la methode save() du fichier module/evaluation/main.php
    juste avant $oEvaluation->save()
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    //on force l'eleve evalué
    $oEvaluation->eleve_id=_root::getParam('id'));
     $oEvaluation->save()
    Ainsi dans le module eleves, on peut faire un lien "voir" qui va afficher le tableau d'evaluation, où l'on va ajouter une evaluation
    la un formulaire fournira un menu deroulant pour la machine, le professeur, et sa note
    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 régulier
    Homme Profil pro
    Enseignant
    Inscrit en
    Mars 2013
    Messages
    201
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2013
    Messages : 201
    Points : 75
    Points
    75
    Par défaut
    En fait le prof ne doit pas saisir une note mais il doit cliquer sur un niveau d’évaluation.
    Donc j'ai une table "niveaux" avec (1=>Théorique, 2=>Utilisation, 3=>Réglage)

    Je sais faire: module CRUD classes =>show module integrable eleves=>show=> evaluation

    Sauf que je ne sait pas faire un module évaluation qui se présenterait de la manière suivante:
    En cliquant sur show de l'éléve j'ai un tableau de toutes les machines de sa classe et que à la place de edit, show, delete j'ai mes trois niveaux d’évaluation.
    exemple :
    scie | Théorique - à faire | Utilisation - à faire | Réglage - à faire

    Et si je clique sur "Théorique" ça l'enregistre et on obtient

    scie | Théorique fait le 12-04-2013 | Utilisation - à faire | Réglage - à faire

  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
    Vous trouverez ci-joint un exemple pour vous aider dans votre projet

    Lorsque l'on clique sur un eleves, on a une liste de machine avec pour chaque machine un menu deroulant pour choisir le niveau ainsi qu'un bouton valider.

    Lorsque l'on valide une ligne, une ligne d'evaluation est crée en base, et listé en dessous.

    Reste à faire:
    - gerer la difference entre une nouvelle evaluation et une modification d'evaluation
    - fusionner ces deux tableaux
    Fichiers attachés Fichiers attachés
    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 régulier
    Homme Profil pro
    Enseignant
    Inscrit en
    Mars 2013
    Messages
    201
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2013
    Messages : 201
    Points : 75
    Points
    75
    Par défaut
    Merci beaucoup,

    Je vais étudier ça de prêt. J'arriverai sans doute à mieux comprendre.

  8. #8
    Membre régulier
    Homme Profil pro
    Enseignant
    Inscrit en
    Mars 2013
    Messages
    201
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2013
    Messages : 201
    Points : 75
    Points
    75
    Par défaut
    Dans mon formulaire d'évaluations new() il faut choisir entre les machines qui appartient à l'atelier de la classe de l'éléve. et actuellement j'ai la liste de toutes les machines sans filtre.
    C'est normal j'ai
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $oView->tJoinmodel_machines=model_machines::getInstance()->getSelect();
    J'ai donc créer une fonction dans model_machines
    Code : 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
    public function findAllByMachinesEleve($eleve_id){
        	return $this->findMany('SELECT machines.nom FROM machines, ateliers, classes, users
                WHERE users.classe_id=classes.id
                AND classes.atelier_id=ateliers.id
                AND machines.atelier_id=ateliers.id
                AND users.id=?',$eleve_id);
    	}
    public function getSelectByMachinesEleve($eleve_id){
        	$tab=$this->findAllByMachinesEleve($eleve_id);
    		$tSelect=array();
    		if($tab){
    		foreach($tab as $oRow){
    			$tSelect[ $oRow->id ]=$oRow->nom;
    		}
    		}
    		return $tSelect;
    	}
    et dans evaluation/main new() j'ai remplacer par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $oView->tJoinmodel_machines=model_machines::getInstance()->getSelectByMachinesEleve(module_eleves::getParam('id'));
    Et en retour je n'ai que la dernière ma

  9. #9
    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
    public function findAllByMachinesEleve($eleve_id){
    return $this->findMany('SELECT machines.nom FROM machines, ateliers, classes, users
    WHERE users.classe_id=classes.id
    AND classes.atelier_id=ateliers.id
    AND machines.atelier_id=ateliers.id
    AND users.id=?',$eleve_id);
    }
    il manque le champ "id" dans la requete, ainsi lors de la créatino du tableau indexé, il utilise le champ id non renseigné, donc toujours vide

    public function findAllByMachinesEleve($eleve_id){
    return $this->findMany('SELECT machines.id, machines.nom FROM machines, ateliers, classes, users
    WHERE users.classe_id=classes.id
    AND classes.atelier_id=ateliers.id
    AND machines.atelier_id=ateliers.id
    AND users.id=?',$eleve_id);
    }
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  10. #10
    Membre régulier
    Homme Profil pro
    Enseignant
    Inscrit en
    Mars 2013
    Messages
    201
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2013
    Messages : 201
    Points : 75
    Points
    75
    Par défaut
    Merci beaucoup. Je comprends mieux

    Je suis toujours sur mon formulaire de création d'évaluation. Je fait mes choix et je valide. Je ne comprend pas pourquoi je ne suis pas redirigé vers list alors que j'ai dans la méthode save()
    Code : 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
    36
    37
    38
    39
    40
    41
    42
    43
    public function save(){
    		if(!_root::getRequest()->isPost() or _root::getParam('formmodule')!=self::$sModuleName ){ //si ce n'est pas une requete POST on ne soumet pas
    			return null;
    		}		
    		$oPluginXsrf=new plugin_xsrf();
    		if(!$oPluginXsrf->checkToken( _root::getParam('token') ) ){ //on verifie que le token est valide
    			return array('token'=>$oPluginXsrf->getMessage() );
    		}
            $iId=module_evaluations::getParam('id',null) ;
    		if($iId==null){
    			$oEvaluations=new row_evaluations;
     
    		}else{
    			$oEvaluations=model_evaluations::getInstance()->findById( module_evaluations::getParam('id',null) );
    		}		
    		$tId=model_evaluations::getInstance()->getIdTab();
    		$tColumn=model_evaluations::getInstance()->getListColumn();
    		foreach($tColumn as $sColumn){
    			 if(isset($_FILES[$sColumn]) and $_FILES[$sColumn]['size'] > 0){
    				$sNewFileName='data/upload/'.$sColumn.'_'.date('Ymdhis');
     
    				$oPluginUpload=new plugin_upload($_FILES[$sColumn]);
    				$oPluginUpload->saveAs($sNewFileName);
    				$oEvaluations->$sColumn=$oPluginUpload->getPath();
    				continue;	
    			}else  if( _root::getParam($sColumn,null) === null ){ 
    				continue;
    			}else if( in_array($sColumn,$tId)){
    				 continue;
    			}			
    			$oEvaluations->$sColumn=_root::getParam($sColumn,null) ;
    		}
            //on force l'eleve evalué avec l'id de l'eleve issu du module eleves ;)
            $oEvaluations->eleve_user_id=module_eleves::getParam('id');
     
    		if($oEvaluations->save()){
    			//une fois enregistre on redirige (vers la page liste)
    			$this->redirect('list');
    		}else{
    			return $oEvaluations->getListError();
    		}
     
    	}
    A la fin j'ai bien une redirection vers list non?

  11. #11
    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 et non , il est indiqué une redirection vers la liste des evaluations

    methode redirect() du module module_evaluations

    La modification est bien effective ?
    sinon faire un print au niveau de la methode redirect() du module_evaluations
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  12. #12
    Membre régulier
    Homme Profil pro
    Enseignant
    Inscrit en
    Mars 2013
    Messages
    201
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2013
    Messages : 201
    Points : 75
    Points
    75
    Par défaut
    Oui l'enregistrement est bien effectué
    sinon faire un print au niveau de la methode redirect() du module_evaluations
    Comment faire?
    print_r(redirect()); exit;
    A quel endroit du evaluations/main?

  13. #13
    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
    dans la methode redirect() du module_evaluations, faire un print des parametres recus et de ceux envoyéés à _redirect()
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  14. #14
    Membre régulier
    Homme Profil pro
    Enseignant
    Inscrit en
    Mars 2013
    Messages
    201
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2013
    Messages : 201
    Points : 75
    Points
    75
    Par défaut
    j'ai trouvé
    J'avais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    if($oEvaluations->save()){
    			//une fois enregistre on redirige (vers la page liste)
    			$this->redirect('list');
    			print_r(redirect('list'));
    			exit;
    		}else{
    			return $oEvaluations->getListError();
    		}
    Et j'ai remplacé par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    if($oEvaluations->isValid()){
     
    			$oEvaluations->save();
    			//une fois enregistre on redirige (vers la page liste)
    			$this->redirect('list');
    		}else{
    			return $oEvaluations->getListError();
    		}
    En fait je ne sait pas pourquoi il est different des autres module/main.php
    Est-ce la dernière version? Car ce module là je l'ai créé avec la dernière version de MKFramework (mkframework_v4_45_0_r129)

  15. #15
    Membre régulier
    Homme Profil pro
    Enseignant
    Inscrit en
    Mars 2013
    Messages
    201
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2013
    Messages : 201
    Points : 75
    Points
    75
    Par défaut
    excuse de mon incompétence mais comment je fait ça?
    dans la methode redirect() du module_evaluations, faire un print des parametres recus et de ceux envoyéés à _redirect()

  16. #16
    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
    Citation Envoyé par pitu69 Voir le message
    excuse de mon incompétence mais comment je fait ça?
    dans ce module evaluations, tu as une methode redirect
    celle-ci doit recevoir des parametres et appeler une autre methode

    quelquechose comme:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    public static function redirect($sModuleAction,$tModuleParam=null){
    		return parent::_redirect(self::$sRootModule,self::$tRootParams,self::$sModuleName,$sModuleAction,$tModuleParam);
    	}
    L'idée, si la redirection se passe mal est d'afficher ce qu'il essaie de rediriger:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    public static function redirect($sModuleAction,$tModuleParam=null){
    print "parametres: ModuleAction:".$sModuleAction.' params'.print_r($tModuleParam,1);
     
    print "appel redirect avec ".self::$sRootModule." ".self::$tRootParams." ".self::$sModuleName." ".print_r($tModuleParam,1);
     
    		return parent::_redirect(self::$sRootModule,self::$tRootParams,self::$sModuleName,$sModuleAction,$tModuleParam);
    	}
    L'idée etant de savoir où il veut rediriger
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  17. #17
    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
    Citation Envoyé par pitu69 Voir le message
    j'ai trouvé
    J'avais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    if($oEvaluations->save()){
    			//une fois enregistre on redirige (vers la page liste)
    			$this->redirect('list');
    			print_r(redirect('list'));
    			exit;
    		}else{
    			return $oEvaluations->getListError();
    		}
    Et j'ai remplacé par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    if($oEvaluations->isValid()){
     
    			$oEvaluations->save();
    			//une fois enregistre on redirige (vers la page liste)
    			$this->redirect('list');
    		}else{
    			return $oEvaluations->getListError();
    		}
    En fait je ne sait pas pourquoi il est different des autres module/main.php
    Est-ce la dernière version? Car ce module là je l'ai créé avec la dernière version de MKFramework (mkframework_v4_45_0_r129)
    Il y a eu des mises à jour dans les dernieres versions du framework impactant la génération des classes modeles:
    ajoutant cette methode :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    public function save(){
    		if(!$this->isValid()){
    			return false;
    		}
    		parent::save();
    		return true;
    	}
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  18. #18
    Membre régulier
    Homme Profil pro
    Enseignant
    Inscrit en
    Mars 2013
    Messages
    201
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2013
    Messages : 201
    Points : 75
    Points
    75
    Par défaut
    J'ai mis un exit; apres mes print et un <hr> entre chaque et j'ai peux voir
    parametres: ModuleAction:list params
    appel redirect avec classes::show Array evaluations
    avec l'ancien code dans méthode save(), j'ai testé et je n'ai aucun retour

    Enfin! tant que ça marche...

  19. #19
    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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    public static function redirect($sModuleAction,$tModuleParam=null){
    print "parametres: ModuleAction:".$sModuleAction.' params'.print_r($tModuleParam,1);
     
    print "appel redirect avec ".self::$sRootModule." ".self::$tRootParams." ".self::$sModuleName." ".print_r($tModuleParam,1);
     
    		return parent::_redirect(self::$sRootModule,self::$tRootParams,self::$sModuleName,$sModuleAction,$tModuleParam);
    	}

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    print "appel redirect avec ".self::$sRootModule." ".self::$tRootParams." ".self::$sModuleName." ".print_r($tModuleParam,1);
    vous affiche
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    appel redirect avec classes::show Array evaluations
    ?

    Cela signifie que le Root module est "classes" et l'action "show", il devrait donc redidiger sur la page à moins que les parametres suivant soient érronés

    Lors de l'appel au module intégrable evaluations, vous avez bien un appel à setRootLink ?
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  20. #20
    Membre régulier
    Homme Profil pro
    Enseignant
    Inscrit en
    Mars 2013
    Messages
    201
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2013
    Messages : 201
    Points : 75
    Points
    75
    Par défaut
    Je viens de faire un test:
    J'ai changer le nom du module evaluations par evaluation_old pour le conserver
    Avec la nouvelle mise à jour j'ai crée un CRUD integrable evaluations
    Et le problème reste entier par de redirection avec new.

    Dans le module eleves j'ai bien le rooLink
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
            //instancier le module
            $oModuleEvaluations=new module_evaluations();
        	//si vous souhaitez indiquer au module integrable des informations sur le module parent
        	$oModuleEvaluations->setRootLink('classes::show',array('id'=>_root::getParam('id'),
                                            'elevesAction'=>'show',
                                            'elevesid'=>module_eleves::getParam('id')));
        	//recupere la vue du module
        	$oViewModule=$oModuleEvaluations->_index();
        	//assigner la vue retournee a votre layout
            $oView->oViewModule=$oViewModule;
    dans un precedant message vous dites
    Il y a eu des mises à jour dans les dernieres versions du framework impactant la génération des classes modeles:
    ajoutant cette methode :
    Je ne vois pas ce code dans save().
    Je l'ai ajouté
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    n save(){
    		if(!$this->isValid()){
    			return false;
    		}
    		parent::save();
    		return true;
    C'est pas mieux.
    Et le print ne me retourne rien

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Création d'un formulaire
    Par nellynew dans le forum Access
    Réponses: 5
    Dernier message: 19/06/2006, 15h30
  2. Création d'un formulaire type
    Par claire.martin dans le forum Access
    Réponses: 7
    Dernier message: 06/01/2006, 14h35
  3. Réponses: 22
    Dernier message: 07/12/2005, 13h51
  4. Réponses: 2
    Dernier message: 21/11/2005, 09h29
  5. Création d'un formulaire sous flash?
    Par ultrakas dans le forum Flash
    Réponses: 5
    Dernier message: 11/01/2005, 18h33

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