1. #61
    Rédacteur
    Avatar de imikado
    Homme Profil pro
    Ingénieur développement
    Inscrit en
    décembre 2006
    Messages
    4 849
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement
    Secteur : Finance

    Informations forums :
    Inscription : décembre 2006
    Messages : 4 849
    Points : 18 616
    Points
    18 616
    Billets dans le blog
    17

    Par défaut

    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
    Homme Profil pro
    Étudiant
    Inscrit en
    juillet 2014
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : juillet 2014
    Messages : 39
    Points : 43
    Points
    43

    Par défaut

    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
    Homme Profil pro
    Étudiant
    Inscrit en
    juillet 2014
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : juillet 2014
    Messages : 39
    Points : 43
    Points
    43

    Par défaut

    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
    Nom : Sans titre 1.jpg
Affichages : 55
Taille : 60,6 Ko
    Fichiers attachés Fichiers attachés

  4. #64
    Rédacteur
    Avatar de imikado
    Homme Profil pro
    Ingénieur développement
    Inscrit en
    décembre 2006
    Messages
    4 849
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement
    Secteur : Finance

    Informations forums :
    Inscription : décembre 2006
    Messages : 4 849
    Points : 18 616
    Points
    18 616
    Billets dans le blog
    17

    Par défaut

    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
    Homme Profil pro
    Étudiant
    Inscrit en
    juillet 2014
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : juillet 2014
    Messages : 39
    Points : 43
    Points
    43

    Par défaut

    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
    Homme Profil pro
    Étudiant
    Inscrit en
    juillet 2014
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : juillet 2014
    Messages : 39
    Points : 43
    Points
    43

    Par défaut

    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
    Homme Profil pro
    Étudiant
    Inscrit en
    juillet 2014
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : juillet 2014
    Messages : 39
    Points : 43
    Points
    43

    Par défaut

    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>
    French.zip


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

  8. #68
    Rédacteur
    Avatar de imikado
    Homme Profil pro
    Ingénieur développement
    Inscrit en
    décembre 2006
    Messages
    4 849
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement
    Secteur : Finance

    Informations forums :
    Inscription : décembre 2006
    Messages : 4 849
    Points : 18 616
    Points
    18 616
    Billets dans le blog
    17

    Par défaut

    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
    Avatar de imikado
    Homme Profil pro
    Ingénieur développement
    Inscrit en
    décembre 2006
    Messages
    4 849
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement
    Secteur : Finance

    Informations forums :
    Inscription : décembre 2006
    Messages : 4 849
    Points : 18 616
    Points
    18 616
    Billets dans le blog
    17

    Par défaut

    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
    Homme Profil pro
    Étudiant
    Inscrit en
    juillet 2014
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : juillet 2014
    Messages : 39
    Points : 43
    Points
    43

    Par défaut

    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
    Avatar de imikado
    Homme Profil pro
    Ingénieur développement
    Inscrit en
    décembre 2006
    Messages
    4 849
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement
    Secteur : Finance

    Informations forums :
    Inscription : décembre 2006
    Messages : 4 849
    Points : 18 616
    Points
    18 616
    Billets dans le blog
    17

    Par défaut

    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
    Homme Profil pro
    Étudiant
    Inscrit en
    juillet 2014
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : juillet 2014
    Messages : 39
    Points : 43
    Points
    43

    Par défaut

    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

    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
    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!
    Nom : resultat.jpg
Affichages : 49
Taille : 23,2 Ko

  13. #73
    Rédacteur
    Avatar de imikado
    Homme Profil pro
    Ingénieur développement
    Inscrit en
    décembre 2006
    Messages
    4 849
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement
    Secteur : Finance

    Informations forums :
    Inscription : décembre 2006
    Messages : 4 849
    Points : 18 616
    Points
    18 616
    Billets dans le blog
    17

    Par défaut

    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
    Homme Profil pro
    Étudiant
    Inscrit en
    juillet 2014
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : juillet 2014
    Messages : 39
    Points : 43
    Points
    43

    Par défaut

    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

  15. #75
    Rédacteur
    Avatar de imikado
    Homme Profil pro
    Ingénieur développement
    Inscrit en
    décembre 2006
    Messages
    4 849
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement
    Secteur : Finance

    Informations forums :
    Inscription : décembre 2006
    Messages : 4 849
    Points : 18 616
    Points
    18 616
    Billets dans le blog
    17

    Par défaut

    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
    Avatar de imikado
    Homme Profil pro
    Ingénieur développement
    Inscrit en
    décembre 2006
    Messages
    4 849
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement
    Secteur : Finance

    Informations forums :
    Inscription : décembre 2006
    Messages : 4 849
    Points : 18 616
    Points
    18 616
    Billets dans le blog
    17

    Par défaut

    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

Discussions similaires

  1. 171 tutoriaux vidéos sur l'UDK
    Par Acropole dans le forum Unreal Engine
    Réponses: 3
    Dernier message: 01/10/2013, 19h07
  2. Un bon logiciel pour faire des tutoriaux vidéos
    Par koKoTis dans le forum Vidéo
    Réponses: 7
    Dernier message: 25/08/2008, 12h05
  3. Tutoriaux vidéo pour photoshop
    Par koKoTis dans le forum Imagerie
    Réponses: 4
    Dernier message: 08/06/2007, 14h24

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