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 :

Application compatible Bootstrap Aiguillage


Sujet :

MkFramework

  1. #1
    Nouveau membre du Club Avatar de MKuser53
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Décembre 2016
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2016
    Messages : 34
    Points : 27
    Points
    27
    Par défaut Application compatible Bootstrap Aiguillage
    Bonsoir,

    J'ai créé il y a un moment une "application" (manuel) avec Bootstrap. Le principe est le suivant il y a une page principal index.html (compatible html5) avec des onglets qui représentent des applications et dans ses onglets des liens. Une page style.php qui va modifier les css (couleurs) suivant les évènements et donc qui va me mettre en surbrillance l'onglet en couleur et le lien de la page qui pose problème (pour résumé une mini appli de supervision). Sauf que pour mettre à jour manuellement tout ça et sans risque d'erreurs c'est un enfer .

    Donc mon idée était d'utiliser le MKFramework pour m'aider dans cette tâche. J'ai donc installé le MKF, créer une application compatible Bootstrap. Je souhaitais utiliser une bdd de type "fichier plat", j'ai opté pour du csv (quid des performances entre du csv et du xml ?). J'ai créé ensuite la couche modèle et 2 modules CRUD comme dans la vidéo. Tout ça de façon très rapide puisque très bien expliquer dans la vidéo. J'avais dans l'idée d'utiliser l'accueil (Module Default) comme front office et les autres éléments (CRUD) pour la partie backoffice (BO). Que dois-je définir pour pouvoir interroger les éléments entrer dans le BO et donc en base directement à partir du module default ? Et surtout suis-je sur la bonne voie et est-ce la bonne méthode ?

    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
    Bonsoir,

    Je souhaitais utiliser une bdd de type "fichier plat", j'ai opté pour du csv (quid des performances entre du csv et du xml ?).
    Le csv se compose d'un fichier plat contenant l'ensemble des enregistrements, c'est donc une bonne chose pour stocquer une liste d'elements , comme un menu, des catégories, auteurs...

    Les fichiers xml: c'est un répertoire contenant N fichiers xml nommés par leur id, pratique pour stoquer des articles par exemple, en mode document/noSql


    J'avais dans l'idée d'utiliser l'accueil (Module Default) comme front office et les autres éléments (CRUD) pour la partie backoffice (BO).
    Que dois-je définir pour pouvoir interroger les éléments entrer dans le BO et donc en base directement à partir du module default ?
    Le mkframework utiliser une architecture MVC, vous avez créé une couche modèle ainsi qu'un module CRUD: en éditant le fichier main.php de celui-ci, vous verrez dans les méthodes _list() , _edit() et _show() comment interagir avec votre base csv

    En effet, vous pouvez simplement lister vos enregistrements csv en appelant la méthode "findAll()" de votre model csv


    Et surtout suis-je sur la bonne voie et est-ce la bonne méthode ?
    Il n'y a pas de bonne ou de mauvaise méthode: chaque choix a ses avantages et ses inconvenients
    Analysez bien ce que vous souhaitez stoquer dans votre "base de données à plat" pour choisir le bon format

    2 choses:
    - vous pouvez avoir des tables stoqués dans des formats différents (xml, csv,json, mysql, sqlite...)
    - vous pouvez modifier en cours de route les formats: il vous suffira de modifier la propriété "$sConfig" de votre classe model
    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
    Nouveau membre du Club Avatar de MKuser53
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Décembre 2016
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2016
    Messages : 34
    Points : 27
    Points
    27
    Par défaut
    ....à partir du module default ?

    Citation Envoyé par imikado Voir le message
    Le mkframework utiliser une architecture MVC, vous avez créé une couche modèle ainsi qu'un module CRUD: en éditant le fichier main.php de celui-ci, vous verrez dans les méthodes _list() , _edit() et _show() comment interagir avec votre base csv

    En effet, vous pouvez simplement lister vos enregistrements csv en appelant la méthode "findAll()" de votre model csv
    Il n'y a pas de couche modèle pour le module défault et au niveau des fonctions :
    function _index() public
    function after() public
    function before() public
    A ce jour (nuit ) je ne vois pas la liaison entre le FO et le BO ? J'ai regardé les exemples fournies mais je bloque.
    Dites-moi si je me trompe mais chaque module CRUD à sa propre couche modèle avec ses fonctions associés ?

    En tout cas la modification de format de bdd en cours de route est intéressante.

  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
    Non pas le module, la couche modèle

    Lorsque vous avez créé votre base csv/xml, vous avez ensuite généré une "couche modèle", le buider a créé des fichiers dans le répertoire model

    Vous pouvez de n'importe où utiliser cette couche model avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    model_maTable::getInstance()->findAll();
    plus d'infos sur l'ORM: http://mkframework.com/orm.html


    Dites-moi si je me trompe mais chaque module CRUD à sa propre couche modèle avec ses fonctions associés ?
    Non le model et les modules ne sont pas liés: c'est le M et le C du MVC

    En revanche dans le module BO créé via la génération de module CRUD, vous pouvez voir comment recuperer les enregistrements:
    Regardez la méthode _list(), et vous devriez voir un code du genre
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    public function _list(){
      $tRow=model_maTable::getInstance()->findAll();
      $oView=new _view('module::list');
      $oView->tRow=$tRow;
     
      $this->oLayout->add('main',$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

  5. #5
    Nouveau membre du Club Avatar de MKuser53
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Décembre 2016
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2016
    Messages : 34
    Points : 27
    Points
    27
    Par défaut
    Arf je n'ai pas reçu la notification de ce matin de votre post.

    Bonne chose, j'ai maintenant un FO (à développer) et un BO . C'est donc bien partie pour que mon projet évolue dorénavant autour du MKF.
    Je commence à me familiariser avec les termes :
    Model view controller (MVC)
    Controleur du module (main.php)
    Object relation mapping (ORM) > qui interagit avec la bdd

    Concernant les contraintes je n'en ai pas vu par exemple sur des champs unique ? Ou peut-être faut-il mettre une case à cocher ?
    J'ai une autre problématique c'est sur le mon fichier style.php qui va devoir être dans un module
    mais dont la place devrait se trouver dans public/css en mode statique. Cela pourrait-il être un point de blocage pour la suite ?

    Dans tous les cas merci pour vos réponses rapides et pour le boulot effectué.

  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
    Citation Envoyé par MKuser53 Voir le message

    Concernant les contraintes je n'en ai pas vu par exemple sur des champs unique ? Ou peut-être faut-il mettre une case à cocher ?
    Rien de prévu en automatique, mais vous pouvez ajouter de l'intelligence, en suivant la partie dans la doc ORM
    http://mkframework.com/orm.html#automatiserretraitement


    Citation Envoyé par MKuser53 Voir le message
    J'ai une autre problématique c'est sur le mon fichier style.php qui va devoir être dans un module
    mais dont la place devrait se trouver dans public/css en mode statique. Cela pourrait-il être un point de blocage pour la suite ?
    Si style.php est votre fichier css, il faudrait le mettre dans public/css oui

    A votre dispo
    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
    Nouveau membre du Club Avatar de MKuser53
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Décembre 2016
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2016
    Messages : 34
    Points : 27
    Points
    27
    Par défaut
    Citation Envoyé par imikado Voir le message
    Rien de prévu en automatique, mais vous pouvez ajouter de l'intelligence, en suivant la partie dans la doc ORM
    http://mkframework.com/orm.html#automatiserretraitement
    J'aurai bien aimé avoir la même contrainte que dans le module d'auth comme le microblogging isLoginUnique.

    Citation Envoyé par imikado Voir le message
    Si style.php est votre fichier css, il faudrait le mettre dans public/css oui
    A votre dispo
    J'émets un doute puisque il doit faire le lien avec les autres modules et des éléments en base, je le garde pour la fin.

  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
    Pour la contrainte, vous pouvez toujours ajouter une méthode isUnique dans votre classe modèle

    Pour style.php, ce n'est pas "juste" un fichier générant le css de l'application ? (avec quelques variables de couleurs and co ?)

    note: en relisant le premier post
    Une page style.php qui va modifier les css (couleurs) suivant les évènements et donc qui va me mettre en surbrillance l'onglet en couleur et le lien de la page qui pose problème
    Pourquoi ne pas simplement utliser des classes css ?
    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
    Nouveau membre du Club Avatar de MKuser53
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Décembre 2016
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2016
    Messages : 34
    Points : 27
    Points
    27
    Par défaut
    La page style.php charge des pages de status d'applications, check la présence des pages, son status global et en fonction positionne les css dans la page principale.
    Actuellement, il y a un refresh sur la page principale tous les 60s.
    Comme mentionné doit être possible de détacher la partie check de la partie css et de définir des classes css.

    J'ai fais au préalable un diagramme pour le fonctionnement :
    Nom : DiagramApplication.png
Affichages : 308
Taille : 38,0 Ko

    PI, je n'ai pas encore établi mon modèle de données (mon premier en l'occurence), puisque je suis en "mode découverte" et test. A ce jour j'en suis à 4 tables pour autant de modules.

  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
    Je comprends mieux style.php, en effet c'est bien un module, par exemple style::check

    Créer un module "module_style", avec une méthode _check qui fera cette verification

    Ensuite pour changer la couleur des onglets, ou autre pictograme, user de l'id en html pour changer la classe de l'objet en question

    avec dans le style css principal
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    .ok{
    background:green;
    }
    .ko{
    background:red;
    }
    Plus une fonction javascript pour switcher les elements
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <script>
    function swichState(id,sState){
    var oElementToSwitch = document.getElementById(id);
     if (oElementToSwitch) {
       oElementToSwitch.className=sState;
     }
    }
    </script>
    Et bien sur l'iframe appelant le module de verification:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <iframe src="<?php echo _root::getLink('style::check')?>"></iframe>
    Et dans votre module de check que vous pouvez par exemple appeler dans une iframe,
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <?php
    //votre code
    //avec l'identification des id a changer et state contenant ok/ko selon l'info trouvee
     
    $tJs[]='parent.swichState(\''.$id.'\', \''.$state.'\')';
     
    $ret="\n";
     
    //et en fin de script
    echo '<script>'.implode(';'.$ret,$tJs).'</script>';

    Vous voyez l'idée ?
    J'ai déjà eu a faire des applications affichant par exemple l'état de batch qui tournaient en fond, une sorte de tableau de monitoring

    Les batchs écrivant dans une base de donnée leur état, une page de verification, bouclait sur cette table pour modifier l'affichage du pictogramme de status toutes les N secondes
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  11. #11
    Nouveau membre du Club Avatar de MKuser53
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Décembre 2016
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2016
    Messages : 34
    Points : 27
    Points
    27
    Par défaut
    Faudra que j'explore ces possibilités, je ne sais pas par contre si je pourrais me servir de tout.
    En tout cas je continue ma découverte avec les applis et les screencasts pour bien assimiler tout ça.

  12. #12
    Nouveau membre du Club Avatar de MKuser53
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Décembre 2016
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2016
    Messages : 34
    Points : 27
    Points
    27
    Par défaut
    Bonjour,

    Suite à un blocage, je reviens vers vous après avoir un peu évoluer autour du framework/php/poo.
    Pour alimenter les données des formulaires du BO, ca se passe plutôt bien par contre je ne vois pas trop comment récupérer certaines données pour la page principale (module).
    J'ai fais un modèle de données temporaire pour m'y retrouver.
    Je souhaiterais ne récupérer que les Url associé au ChoixOnglet. En résumé je ne sais pas si je peux me servir de mes getselect, dois-je faire une jointure ou du getparam ?

    Nom : DiagramAppliHelp.png
Affichages : 365
Taille : 54,8 Ko

    Partie de la vue du module principal
    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
    <div class="tabbable">
    		<ul class="nav nav-tabs text-tab-color">
    	<?php if($this->tOnglet):?>
    		<?php foreach($this->tOnglet as $oOnglet):?>
    
    		 <li class="<?php echo $oOnglet->classtab ?>"><a href="#<?php echo $oOnglet->ancretab ?>" data-toggle="tab"><?php echo $oOnglet->nomtab ?></a></li>
    
    
    
    		<?php endforeach;?>
    		</ul>
    	<?php else:?>
    
    		<ul class="nav nav-tabs text-tab-color">
    		 <li class="aucun active"><a href="#accueil" data-toggle="tab">Aucun Onglet</a></li>
    		</ul>
    	<?php endif;?>
    </div>
    
    
    		<div class="tab-content">
    
    	<?php if($this->tDetailonglet):?>
    		<?php foreach($this->tDetailonglet as $oDetailonglet):?>
    
    				<div class="tab-pane <?php echo $oDetailonglet->tabactive ?>" id="<?php if(isset($this->tJoinmodel_onglet[$oDetailonglet->idonglet])){ echo $this->tJoinmodel_onglet[$oDetailonglet->idonglet];}else{ echo $oDetailonglet->idonglet ;}?>">
    					<div class="env">
    						<h3><?php echo $oDetailonglet->titreonglet ?></h3>
    
    						<div class="row">
    							<div class="span4">
    								<ul class="unstyled">
    
    								<?php if($this->tLiens):?>
    									<?php foreach($this->tLiens as $oLiens):?>
    
    									<li><a target="_blank" href="<?php echo $oLiens->Url ?>" class="el"><i class="icon-remove-circle"></i> Portail Nom</a> <div class="tools-portail"></div></li>
    
    								<?php endforeach;?>
    							<?php else:?>

    Partie ajout à la couche modèle Lien (pas sur du tout)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    	public function findLink($ChoixOnglet){
    		return $this->findOne('SELECT Url FROM '.$this->sTable.' WHERE ChoixOnglet LIKE ChoixOnglet=?', $ChoixOnglet );
    	}
    Controleur du module principal
    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
    	public function _index(){
    
    		$tDetailonglet=model_detailonglet::getInstance()->findAll();
    	        $tOnglet=model_onglet::getInstance()->findAll();
    	        $tLienparam=model_lienparam::getInstance()->findAll();
    	        $tLiens=model_liens::getInstance()->findLink($ChoixOnglet);
    
                    $oView=new _view('default::index');
                    $oView->tDetailonglet=$tDetailonglet;
                    $oView->tOnglet=$tOnglet;
                    $oView->tLienparam=$tLienparam;
                    $oView->tLiens=$tLiens;
                    $oView->tJoinmodel_onglet=model_onglet::getInstance()->getSelect();
                    $oView->tJoinmodel_lienparam=model_lienparam::getInstance()->getSelect();
    		$this->oLayout->add('main',$oView);
    
    	}

    GoodYear,

  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
    Ca me semble bon, il faut en effet remplir la variable $ChoixOnglet dans le module, par exemple avec _root::getParam

    quel est le nom déjà de votre onglet ?

    Mais sur le principe, vous avez bien fait d'ajouter une méthode
    par contre, si vous souhaitez récupérer un tableau de plusieurs liens il faut remplacer
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    public function findLink($ChoixOnglet){
    	return $this->findOne('SELECT Url FROM '.$this->sTable.' WHERE ChoixOnglet LIKE ChoixOnglet=?', $ChoixOnglet );
    }
    par
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    public function findLink($ChoixOnglet){
    	return $this->findMany('SELECT Url FROM '.$this->sTable.' WHERE ChoixOnglet LIKE ChoixOnglet=?', $ChoixOnglet );
    }

    Pour rappel, la doc ORM: http://mkframework.com/orm.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

  14. #14
    Nouveau membre du Club Avatar de MKuser53
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Décembre 2016
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2016
    Messages : 34
    Points : 27
    Points
    27
    Par défaut
    J'ai ajouté dans mon avant dernier post au début de Partie de la vue du module principal, la partie ou je créé les onglets à la volé grâce au module onglet identifié par nomtab
    MENU:
    Index
    onglet => création des onglets
    detailonglet => titres des onglets (attributs des onglets)
    liens => ajout des liens et formatage de la page
    lienparam => mise en forme différente suivant le type de liens (attributs des Liens)

    Merci pour la remise en mémoire du lien orm puisque j'ai insisté sur la FAQ, les appli, les anciens posts et zappé cette partie la.

  15. #15
    Nouveau membre du Club Avatar de MKuser53
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Décembre 2016
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2016
    Messages : 34
    Points : 27
    Points
    27
    Par défaut
    Bon j'avais tenté le
    $ChoixOnglet=_root::getParam('ChoixOnglet');
    Mais cela ne fonctionnait pas puisque je l'avais placé après le tableau.

    Par contre pour l'instant cela ne me retourne "aucune ligne" comme si le tableau était vide, affaire à suivre, j'enquêstre.

  16. #16
    Nouveau membre du Club Avatar de MKuser53
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Décembre 2016
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2016
    Messages : 34
    Points : 27
    Points
    27
    Par défaut
    Je regarde ce que me sort dans la vue:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <pre><?php print_r ($this->tLiens); ?></pre>
    Avec dans la couche modèle:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public function findLink(){
    return $this->findMany('SELECT Url FROM '.$this->sTable. ' WHERE ChoixOnglet=5 ' );
    	}
    Dans le controleur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     $tLiens=model_liens::getInstance()->findLink();
    Resultats:
    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
    44
     
    Array
    (
        [0] => row_liens Object
            (
                [sClassModel:protected] => model_liens
                [_bChooseUpdate:abstract_row:private] => 1
                [_tProperty:protected] => Array
                    (
                        [id] => 1
                        [ChoixOnglet] => 5
                        [ChoixLien] => 1
                        [Url] => http://url1
                        [DiagClass] => 
                        [LigneBlanche] => 
                        [
    ] => 
     
                    )
     
                [_tPropertyToUpdate:protected] => 
            )
     
        [1] => row_liens Object
            (
                [sClassModel:protected] => model_liens
                [_bChooseUpdate:abstract_row:private] => 1
                [_tProperty:protected] => Array
                    (
                        [id] => 5
                        [ChoixOnglet] => 5
                        [ChoixLien] => 2
                        [Url] => http://url1/status/index-appli1.html
                        [DiagClass] => appli1class
                        [LigneBlanche] => 
                        [
    ] => 
     
                    )
     
                [_tPropertyToUpdate:protected] => 
            )
     
    )
    Mais avec dans le modèle :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    public function findLink($ChoixOnglet){
    	return $this->findMany('SELECT Url FROM '.$this->sTable.' WHERE ChoixOnglet LIKE ChoixOnglet=?', $ChoixOnglet );
    }
    Et dans le controleur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public function _index(){
    $ChoixOnglet=_root::getParam('ChoixOnglet');
    $tLiens=model_liens::getInstance()->findLink($ChoixOnglet);
    Le tableau ne renvoi aucune valeur. Mon getparam ne doit pas getté grand chose
    La base peut-être ? csvExple.sgbd = csv

  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
    Vous pouvez facilement debuguer ce code
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    public function _index(){
      $ChoixOnglet=_root::getParam('ChoixOnglet');
      $tLiens=model_liens::getInstance()->findLink($ChoixOnglet);

    ainsi

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    public function _index(){
      $ChoixOnglet=_root::getParam('ChoixOnglet');
      plugin_debug::addSpy('getParam ChoixOnglet', $ChoixOnglet);
     
      $tLiens=model_liens::getInstance()->findLink($ChoixOnglet);
      plugin_debug::addSpy('tableau tLiens', $tLiens);
    Plus d'infos ici: http://mkframework.com/faq.html#debug*

    Ici en vidéo: http://mkframework.com/podcasts_13.html

    Attention, il y a une erreur dans la requete:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public function findLink($ChoixOnglet){
    	return $this->findMany('SELECT Url FROM '.$this->sTable.' WHERE ChoixOnglet LIKE ChoixOnglet=?', $ChoixOnglet );
    }
    corriger par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    public function findLink($ChoixOnglet){
    	return $this->findMany('SELECT Url FROM '.$this->sTable.' WHERE ChoixOnglet =?', $ChoixOnglet );
    }
    pourquoi faire un like ? c'est un id que vous utilisez, non ?
    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
    Nouveau membre du Club Avatar de MKuser53
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Décembre 2016
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2016
    Messages : 34
    Points : 27
    Points
    27
    Par défaut
    Oui, j'avais vu dans les screencasts, afin d'éviter de mettre des var_dump partout et de pouvoir debugger via la console et les logs .
    Je vais essayé de prendre le pli.

    Mes Spy variables me renvoi la même chose du vide.

    Je vais activer plus de logs aussi

  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
    le getParam est donc vide ?

    si vous cliques sur le bouton "GET" vous ne voyez pas votre variable "choixOnglet" ?
    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
    Nouveau membre du Club Avatar de MKuser53
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Décembre 2016
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2016
    Messages : 34
    Points : 27
    Points
    27
    Par défaut
    L'activation des logs est je pense aussi indispensable en mode dev surtout pour les débutants.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    2017-01-07 00:00:03 | info | SQL select:SELECT * FROM lienparam
    2017-01-07 00:00:03 | info | SQL select:SELECT Url FROM liens WHERE ChoixOnglet =
    2017-01-07 00:00:03 | info | SQL select:SELECT * FROM onglet
    2017-01-07 00:00:03 | info | SQL select:SELECT * FROM detailonglet
    2017-01-07 00:00:03 | info | SQL select:SELECT Url FROM liens WHERE ChoixOnglet =
    Requête corrigée
    Il ne récupère pas le getParam

    On peux en savoir un peu plus sur le getparam ? Il peut récupérer n'importe quel champ ?

    DoxyGen:
    retourne une variable de requete GET,POST public

    Pour le Get:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Array
    (
        [:nav] => default::index
    )

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

Discussions similaires

  1. Application compatible Windows CE et Windows XP/Vista
    Par Capucine44 dans le forum Windows Mobile
    Réponses: 3
    Dernier message: 11/01/2009, 19h19
  2. Intégration classes application compatible
    Par nicolr dans le forum Débuter avec Java
    Réponses: 2
    Dernier message: 29/04/2008, 01h38
  3. [D7] Application compatible UNICODE
    Par Zepeq dans le forum Composants VCL
    Réponses: 3
    Dernier message: 11/03/2008, 16h56
  4. Application compatible U3
    Par hjdc dans le forum Langage
    Réponses: 0
    Dernier message: 14/10/2007, 19h40
  5. [DDE] Comment créer une application compatible ?
    Par Stef.web dans le forum Langage
    Réponses: 2
    Dernier message: 14/12/2005, 08h45

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