We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 20394
    • 134 Posts
    Bonjour,
    j’aimerai adjoindre un certain comportement aux TVs.
    Le cas étudié : j’ai une TV ayant les valeurs suivantes possibles :
    article||chapitre||section||sous-section||paragraphe.
    Un document "chapitre" ne peut pas avoir comme fils un document "article" ou "chapitre". Vous adapterez pour
    les autres valeurs possibles...
    J’aimerai donc dans le panneau de gestion de cette TV pouvoir spécifier ces impossibilités afin d’une part de restreindre le nombre de choix lors de la spécification de la valeur de la TV, d’autre part pouvoir simplement vérifier la cohérence de mon site.

    De plus un document chapitre aurait par défaut comme fils des documents "section", ce qui serait spécifié également dans la gestion de la TV.

    Autre comportement possible : dans le document "chapitre", on spécifie que ses enfants ont comme valeur par défaut "section" (ou "paragraphe" si c’est ce qui est souhaité). Il serait spécifié dans la définition de la TV que "section" et "paragraphe" sont les deux valeurs par défaut possibles pour les fils de "chapitre".
      • 11975
      • 2,542 Posts
      Salut,

      c’est intéressant ...
      Dans le même genre, j’ai essayé de développer une dépendance entre les TVs pour créer des listes du type Région=>Départements.
      Le choix de TV region impactant la liste des valeurs de TV département.(la liste des départements étant celle de la région sélectionnée au préalable)
      J’y suis presque arrivé (voir post tv dependencies et odd result with @eval)
      Pour l’instant j’ai laissé tomber parce que les filtres de ditto ne permettent pas de retrouver les résultats (pas le tps de développer mon propos à ce sujet j’y reviendrai si besoin)

      Mais je m’éloigne de la raison de mon post.
      J’ai  lu laplupart de tes interventions, tu sembles à l’aise en développement php.
      Je travaille en ce moment sur un module permettant d’éditer les valeurs des options des TVs sans avoir à taper les == ou || mais surtout pour que les modifs des valeurs des options soient  répercutées dans les valeurs existantes de la table modx_site_tmplvar_contentvalues.
      (cad les valeurs des Tvs attribuées précedemment à un document)

      J’ai pas mal avancé mais n’étant pas développeur je suis à la limite de mes compétences.

      Si tu es intéressé pour participer au développement, tu es le bienvenu.
      Cette proposiotn vaut pour Marc également (si tu lis ce post) et tout développeur.

      :-)
        Made with MODx : [url=http://www.copadel.com]copadel, fruits et l
        • 11975
        • 2,542 Posts
        Pour illustrer mon propos voici qq screens du module











        :-)
          Made with MODx : [url=http://www.copadel.com]copadel, fruits et l
          • 16732
          • 592 Posts
          Salut,

          Effectivement tu as l’air d’avoir fait pas mal de taff !!... Je serais très intéressé de participer au dev de ce module. smiley
            • 11975
            • 2,542 Posts
            Super !!!
            je me sens moins seul grin

            je vais nettoyer le code et ecrire les specs du module pour que tu puisses rapidement t’immerger dedans.
            J’utilise les class makeForm et maketable d’openGeek pour tout ce qui est genration de tableaux et de formulaires.

            Je poste les sources aussi vite que possible.
            J’espère que ce sera utilsable tel quel smiley

            Encore merci de ta proposition d’aide.
            A mon sens c’est une pièce importante qui manque à modx et qui sera le complément du docManager de la 0.9.5


            :-)
              Made with MODx : [url=http://www.copadel.com]copadel, fruits et l
              • 18219
              • 826 Posts
              Le projet est intéressant et peut répondre à la demande de mrcou si cela est pris en considération dès le début du projet (ce qui semble être le cas).
              Si tu veux mon avis, tu devrais informer Ryan et OpenGeek du lancement d’un tel projet, ne serait-ce que pour vérifier que d’autres développeurs n’ont pas eu cette idée (ou une similaire) avant toi (notamment pour la version 1.0).

              Si tu veux poster ton code, je jeterai un oeil (en fonction de mon temps et de mes compétences).
              Mais je t’avoue que je n’ai pas beaucoup de temps pour faire du devlp et j’ai placé comme priorité la réalisation d’un formulaire de contact pour le site que j’ai en cours de construction.

              Derrière, j’ai deux snippets à finir avant de les poster sur le repository (WebUserInfo et SimpleVideoShow) puis la réalisation de mon propre site avant de m’attaquer à un autre site prévu pour mi-octobre. Du pain sur la planche en quelques sortes wink
                Marc
                I'm French... Sorry for my bad English, I use ' Google Translator' or other... but that remains that tools wink
                • 20394
                • 134 Posts
                Bonjour,
                ce module m’a l’air particulièrement intéressant et c’est avec plaisir que je me plongerai dans son code.

                Sinon une remarque sur ce que je proposai comme comportement pour les TVs. On pourrait peut-être le voir comme une DTD (pour ceux qui connaissent le XML). On pourrait spécifier le nombre de section qu’un chapitre peut contenir (il faut que je trouve un autre exemple, ici ce n’est pas très parlant) ou encore indiquer qu’un sommaire doit se trouver avant le premier chapitre.
                  • 20394
                  • 134 Posts
                  @Heliotrope,
                  je viens de regarder ton post TV dependencies. Si je comprend bien on met ce code tel quel mais sans la balise <?php dans les valeurs optionnelles d’entrées. Petite remarque : je n’arrive pas à faire un copier coller, ce champ ne gérant pas les sauts de lignes.

                  Sinon c’est exactement ce que je cherchais depuis un certain temps pour les TVs. J’espère pouvoir écrire un hack permettant de gérer ceci sans avoir à taper tout ce code, mais comme d’autres j’ai peu de temps en ce moment.
                    • 11975
                    • 2,542 Posts
                    salut,

                    il n’y a qu’une partie du code à copier dans les champs input options values.
                    Uniquement la partie avec les @bindings

                    Pour reprendre l’exemple des regions et departements :

                    tvListeRegion =>@SELECT name, id FROM ma_table_region ORDER by name ASC
                    //on obtient la liste des régions, le résultat est formaté automatiquement par modx (name==id||nameN==idN)

                    tvListeDepartement=>@EVAL return $modx->runSnippet(’createListOptions’);
                    //Pour les départements, on est obligés d’opérer différements puisque le résultat est conditionné par le choix tvListeRegion
                    //on exécute une snippet createListOptions qui va s’occuper d’extraire les résultats et les formater selon les normes`

                    Code du snippet: createListOptions

                    <?php //pour la coloration syntaxique
                    $pageID = ( $_REQUEST['doc']) ? $_REQUEST['doc'] : $_REQUEST['id'];
                    $tvrelated = "tvListeRegion";
                    $tbl = $modx->getFullTableName('ma_table_departement');
                    //doc on est sur le front(Quick Edit): id on est dans le manager
                    if(!empty($pageID)){
                        $templateTest = $modx->getTemplateVar($tvrelated,'*', $pageID);
                        if(strlen($templateTest['value'])>0){ 
                            $sql= "SELECT nomdepartement, iddepartement FROM $tbl WHERE idregion=".$templateTest['value']." ORDER by aliment ASC";
                            $elt="";
                            $rs = $modx->db->query($sql);
                                while($myvalues = $modx->db->getRow($rs)) {
                                $elt .= $myvalues['nomdepartement']."==".$myvalues['iddepartement']."||";
                                }
                            $value = substr($elt,0,-2);
                            
                        }
                    }
                    
                    
                    return $value;
                    
                    
                      Made with MODx : [url=http://www.copadel.com]copadel, fruits et l
                      • 20394
                      • 134 Posts
                      Merci j’ai compris maintenant laugh