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 :

Demande de tutoriaux vidéos


Sujet :

MkFramework

  1. #61
    Rédacteur

    Pour datatables, j'ai ajouté cette page sur le site:
    http://mkframework.com/telechargerMo...atatables.html

    C'est assez simple à mettre en place: on télécharge le zip, on le dézippe dans le repertoire module, puis on suite les instructions
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  2. #62
    Membre du Club
    Citation Envoyé par imikado Voir le message
    Pour datatables, j'ai ajouté cette page sur le site:
    http://mkframework.com/telechargerMo...atatables.html

    C'est assez simple à mettre en place: on télécharge le zip, on le dézippe dans le repertoire module, puis on suite les instructions
    Génial merci pour ce tuto. Je teste de suite

  3. #63
    Membre du Club
    Bon je pense qu'il y'a eu une chose que tu as omis Imikado

    -les fichiers que tu as mis dans le module "datatables" en zip. Tu devrais le mettre dans le dossier d'abord ensuite zippé le dossier comme sur la piéce jointe de ce message. Sinon les utilisateurs risquent de ne pas savoir ou mettre les fichiers contenus dans le zip.

    Ensuite j'ai réussi à implémenter le datatables mais ce n'est pas encore ça:
    -la fonction recherche ne marche pas;
    -j'ai un message d'erreur disant: DataTables warning: table id=monId - Cannot reinitialise DataTable. For more information about this error, please see http://datatables.net/tn/3

  4. #64
    Rédacteur

    Il faut verifier la méthode json appelé pour verifier que le json est bien formé

    Vous pouvez utiliser firebug (F12 ) pour afficher les requetes ajax execututée, puis ouvrir dans un nouvel onglet la requete ajax afin de verifie qu'il n'y ai pas de soucis .

    Pour la recheche, je l'ai en effet désactvié dans cette version du module datatables, je n'ai pas regardé encore comment l'implémenter dans les requetes SQL.
    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. #65
    Membre du Club
    Citation Envoyé par imikado Voir le message
    Il faut verifier la méthode json appelé pour verifier que le json est bien formé

    Vous pouvez utiliser firebug (F12 ) pour afficher les requetes ajax execututée, puis ouvrir dans un nouvel onglet la requete ajax afin de verifie qu'il n'y ai pas de soucis .

    Pour la recheche, je l'ai en effet désactvié dans cette version du module datatables, je n'ai pas regardé encore comment l'implémenter dans les requetes SQL.

    Okey merci beaucoup pour l'effort... on voit que tu as beaucoup travailler avec ces centaines de lignes de code

    Sinon pour la recherche c'est bon, je ne pense pas que cela soit une urgence, mais pour l'erreur j'ai fait des recherches et ils disent çà sur stackoverflow
    It's the tn/3 message is because you were trying to intialize the same table twice. Try doing the dataload in the same function as the rest.
    Et ils en parlent aussi sur le forum du plugin
    https://datatables.net/manual/tech-notes/3

    Si je comprends bien, l'erreur dit qu'on ne peut pas réinitialiser datatables à nouveau car c'est déjà fait!

  6. #66
    Membre du Club
    Pour résoudre le problem, il a suffit que j'ajoute cette ligne:

    destroy: true,
    au fichier datatables/view/list.php comme ci-dessous:



    <script>

    $(document).ready(function() {
    $('#<?php echo $this->idTable?>').DataTable( {
    destroy: true,
    "pageLength":<?php echo $this->iLimit?>,
    "processing": true,
    "serverSide": true,
    "ajax": "<?php echo _root::getLink($this->sJsonLink)?>",
    "lengthMenu":<?php echo json_encode($this->tLimit)?>,
    'searching':true,
    } );
    } );


    </script>

  7. #67
    Membre du Club
    Pour la traduction en français on peut utiliser le fichier en francais ci-joint ( dans le dossier public/assets par exemple) et l'appeler dans la fonction javascript comme suit:
    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
    <script>
    
    $(document).ready(function() {
        $('#<?php echo $this->idTable?>').DataTable( {
    		destroy: true,
    	"pageLength":<?php echo $this->iLimit?>,
            "processing": true,
            "serverSide": true,
            "ajax": "<?php echo _root::getLink($this->sJsonLink)?>",
            "lengthMenu":<?php echo json_encode($this->tLimit)?>,
            'searching':false,
    	"language": {
                    "url": "assets/French.json"
                }
        } );
    } );
    
    
    </script>





    Est-ce qu'il ne faudrait pas ouvrir un Topic spécialement pour le plugin datatable?!

  8. #68
    Rédacteur

    Pour le problème de datatables, c'était lié à la présence de 2 tableaux dans la même page c'est bien cela ?

    Oui pourquoi pas le topic special Datatables, le temps que le module arrive a maturité (comme celui de Guriddo)

    PS: merci pour la correction (ajout de l'attribut Destroy) je verrais pour l'ajouter au plus vite et mettre à jour sur le market

    N'oubliez pas que vous pouvez contribuer au market via github
    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. #69
    Rédacteur

    Pour l'attribut destroy, j'ai fait l'essai d'avoir 2 tableaux Datatables, il faut "juste" penser à changer l'id du datatable:
    Code php :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
     
    $oTable->setId('monId2');


    Cet id doit etre unique sur la page
    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. #70
    Membre du Club
    Citation Envoyé par imikado Voir le message
    Pour l'attribut destroy, j'ai fait l'essai d'avoir 2 tableaux Datatables, il faut "juste" penser à changer l'id du datatable:
    Code php :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
     
    $oTable->setId('monId2');


    Cet id doit etre unique sur la page
    Oui c'est bien ça... Mais je vierns de tester tout de suite et ça affiche le meme message d'erreur lorsque j'enlève "destroy:true" et meme quand je change l'id du datatable. J'ai mis: "$oTable->setId('tache');"

  11. #71
    Rédacteur

    Mais vous avez pas 2 datatables d'afficher dans la meme page ?

    vous pouvez regarder dans votre code source si vous n'instanciez pas 2 fois le datatable sur le meme tableau ?
    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. #72
    Membre du Club
    Citation Envoyé par imikado Voir le message
    Mais vous avez pas 2 datatables d'afficher dans la meme page ?

    vous pouvez regarder dans votre code source si vous n'instanciez pas 2 fois le datatable sur le meme tableau ?

    Bonjour, je viens de refaire le test et j'ai changé l'id... mais j'ai toujours la mêm erreur sans le DESTROY. Voici mon code source html, c'est sûr que l'id n'est utilisé qu'une fois, et je n'avais jamais instancié le datatable au paravant dans le code.

    J'ai joint le code source dans ce message tu peux vérifier par toi meme



    Mais j'ai aussi remarqué un bug, si vous regardez le code ci-dessous je ne veux affiché que la date, mais le datatable m'affiche le titre?!
    La methode _list
    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
     
    public function _list(){
     
    			//instancier le module
    			$oTable=new module_datatables;
    			$oTable->setPaginationLimit(4);
     
    			//l'id de la div html
    			$oTable->setId('testID');
     
    			//on definit la hauteur du tableau (en pixels)
    			$oTable->setHeight(120);
    			$oTable->setWidth(600);
     
    			//la page permettant de retourner le contenu au format json
    			$oTable->setJsonLink('default::listJson');
     
    			//on defini (si besoin) un menu deroulant permettant de modifier la pagination
    			$oTable->setListLimit(array(10,20));
     
     
    			//definir le sens par defaut de tri (asc/desc)
    			$oTable->setDefaultSort('desc');
     
    			//defintion du tri par defaut
    			$oTable->setDefaultSortField('date_limit_tache');
     
    			$oTable->addColumn('Date limite','date_limit_tache');
     
     
    			$oView= $oTable->build();
     
    			$this->oLayout->add('main',$oView);
     
    			//assigner la vue retournee a votre layout
    			$this->oLayout->add('main',$oView);
    	}


    La methode _listJson

    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
     
    public function _listJson(){
     
    			$oJson=module_datatables::getJson();
    			//on precise la liste des champs autorise a etre trie
    			$oJson->setSortFieldAllowed(array('date_limit_tache'));
     
    			//attention a bien mettre les colonnes avant de definir le total et les data
    			$oJson->addColumn('date_limit_tache');
     
    			if($oJson->hasFilter()){
     
    			$count = model_taches::getInstance()->findTotalFiltered($oJson->getListFilter());
    			$oJson->setTotal($count);
    			$tData=model_taches::getInstance()->findListFilteredAndLimitOrderBy($oJson->getListFilter(),$oJson->getStart(),$oJson->getLimit(),$oJson->getSortField(),$oJson->getSortSide());
     
    			}else{
    			$count = model_taches::getInstance()->findTotal();
    			$oJson->setTotal($count);
    			$tData=model_taches::getInstance()->findListLimitOrderBy($oJson->getStart(),$oJson->getLimit(),$oJson->getSortField(),$oJson->getSortSide());
    			}
     
    			$oJson->setData($tData);
     
    			$oJson->show();
    	}


    Résultat!

  13. #73
    Rédacteur

    Voila la cause du soucis:
    Dans votre méthode _list(),
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $this->oLayout->add('main',$oView);
     
    			//assigner la vue retournee a votre layout
    			$this->oLayout->add('main',$oView);
    	}


    Vous concaténez deux fois la meme vue
    donc vous mettez 2 fois la création du tableau datatables

    Le html fourni confirme
    on voit bien 2 fois la création du tableau (ligne 74 et 111)
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
     
    $(document).ready(function() {
        $('#testID').DataTable( {
    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. #74
    Membre du Club
    Ok c'est vrai merci beaucoup pour l'assistance. Mais alors il faut corriger votre code se trouvant sur le site! Car je me suis fié à votre code sans faire des verifications...
    http://mkframework.com/telechargerModule_datatables.html

  15. #75
    Rédacteur

    Exact, je corrigerai ce soir

    Merci encore pour ce retour
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  16. #76
    Rédacteur

    Merci: j'ai corrigé sur le site et sur le market
    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. #77
    Membre éclairé
    Demande de tuto d'inscription avec validation par mail
    Bonjour Imikado

    On voulait avoir une tuto ou des indications pour compléter notre système d'inscription avec validation par mail et aussi la réinitialisation de mot de passe après un oubli.

    Merci.
    vous connaitrez la vérité et la vérité vous affranchira !
    windev/firebird/Mkframework
    vous devez tous l'éssayer impressionnant pour Débutant, Confirmé et Expert
    http://mkframework.com/accueil.html
    http://sqlmanagerx.com/

  18. #78
    Rédacteur

    Ok je note pour les prochains tutos a ecrire
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  19. #79
    Membre éclairé
    Bonjour Imikado

    On aimerais avoir un exemple ou une indication pour la création d'un site web avec administration. un lien vers un Tutorial bien enrichi nous arrangerai

    Merci
    vous connaitrez la vérité et la vérité vous affranchira !
    windev/firebird/Mkframework
    vous devez tous l'éssayer impressionnant pour Débutant, Confirmé et Expert
    http://mkframework.com/accueil.html
    http://sqlmanagerx.com/

  20. #80
    Rédacteur

    Dans les gros tutoriaux sur le site ou ici sur developpez.com vous n'avez pas trouvé de tutoriaux de ce genre ?

    Faire son twitter
    http://imikado.developpez.com/tutori...microblogging/

    Faire son facebook
    http://mkframework.com/bigtutoriel_s...network_I.html
    http://mkframework.com/bigtutoriel_s...Upgrade_I.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

###raw>template_hook.ano_emploi###