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![]()
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
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
![]()
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
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
Et ils en parlent aussi sur le forum du pluginIt'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.
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!
Pour résoudre le problem, il a suffit que j'ajoute cette ligne:
au fichier datatables/view/list.php comme ci-dessous:destroy: true,
<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>
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:
French.zip
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?!
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
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
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
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
jok-source.html
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
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
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); }
Résultat!
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(); }
![]()
Voila la cause du soucis:
Dans votre méthode _list(),
Vous concaténez deux fois la meme vue
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); }
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
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/telechargerMo...atatables.html
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
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
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.
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
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
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_socialnetwork_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
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager