We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 20394
    • 134 Posts
    EDIT : ne télécharger pas ce fichier mais la nouvelle version au post 10.

    Bonjour,

    voici deux frames à placer dans manager/frames.
    Pour voir le résultat aller sur
    votresite/manager/index.php?a=1&f=4

    Ce n’est qu’une première ébauche.
    Le fonctionnement est de choisir les TVs qui proposent une liste de choix, puis de choisir la valeur correspondante.
    Vous pouvez à chaque fois cliquer sur "tous documents" pour retrouver l’arborescence standard.
    Le but serait de filtrer les documents en fonction de leurs valeurs de TVs.
    Le dossier "autre document" sera implémenté plus tard (jamais ?) pour contenir tous les documents qui ne spécifient pas de valeur pour la TV sélectionnée.
      • 11975
      • 2,542 Posts
      Salut,

      tu pourrais faire des screenshots pour nous montrer le resultat.

      :-)
        Made with MODx : [url=http://www.copadel.com]copadel, fruits et l
        • 6726
        • 7,075 Posts
        Oui bonne idée, tout le monde n’a pas envie de modifier son install juste pour voir (même si le concept est super intéressant smiley )
          .: COO - Commerce Guys - Community Driven Innovation :.


          MODx est l'outil id
          • 20394
          • 134 Posts
          Voici un petit screenshot :


          Au début nous avons l’arborescence classique, puis la liste des TVs : refid, niveau, type.
          Je sélectionne Niveau, puis dans Niveau je sélectionne la valeur M2.
          On me propose alors les TVs refid et type.
          Je sélectionne alors type et l’on me propose toutes ses valeurs possibles (théorème et autres).

          Les nombres sont placés provisoirement pour avoir les ids des TVs et des valeurs sélectionnées.
            • 20394
            • 134 Posts
            D’autres screenshots pour reprendre plus tranquillement l’exemple précédent :

              • 23050
              • 1,842 Posts
              Le projet sur lequel je bosse actuellement ne nécessite pas cette modification mais je crois bien qu’il va faire mon bonheur pour un autre projet que j’ai dans un carton !
                • 20394
                • 134 Posts
                Il me manque la fonction qui va permettre de sélectionner les documents en fonction des valeurs des TVs. Heliotrope et Davidm, est-ce cela que vous cherchez à implémenter ?
                  • 11975
                  • 2,542 Posts
                  Il me manque la fonction qui va permettre de sélectionner les documents en fonction des valeurs des TVs.

                  Ah oui on aimerait bien que cette fonctionnalité soit déjà présente. grin
                  Pour ma part je travaille (et en ce moment je cale) sur un module d’édition des options des TVs.

                  :-)
                    Made with MODx : [url=http://www.copadel.com]copadel, fruits et l
                    • 20394
                    • 134 Posts
                    J’avance (doucement c’est sûr, sûrement je ne sais pas)...

                    En plus des fichiers frame4 et frame4ldr il y a deux fichiers d’API.
                    Dans functions_frame.php, il y a en particulier deux fonctions :

                    function GetDocSpecifiedByTvIdsAndValueIds($idtvs,$idvalues,$among='*')

                    Cette fonction retourne les documents qui spécifient dans la table site_tmplvar_contentvalues toutes les tvs dont les identifiants sont dans $idtvs, et qui ont les bonnes valeurs (spécifiées par $idvalues). Elle est assez rapide mais trop simpliste.

                    function GetDocIdsByTvIdsAndValueIds($idtvs,$idvalues,$among='*')

                    Cette fonction retourne tous les documents qui ont les bonnes valeurs des tvs. Elle est très lente car je n’utilise pas le bon algorithme. Sinon elle permet de retrouver tous les documents voulus. J’y ai mis un "range(1,400)" pour limiter le nombre de documents considérés et ne pas surcharger le serveur.


                    Dans frame4ldr, j’utilise GetDocSpecifiedByTvIdsAndValueIds pour des raisons de rapidité. Cela ne permet pas de faire des intersections avec plusieurs TVs et donc l’arborescence ne marche bien qu’au premier niveau de profondeur. L’intérêt est tout de même que les documents qui héritent des documents retournés vont se retrouver dans l’arborescence donc on n’en perd aucun (ayant la bonne valeur pour la TV), du moins pas trop ...

                    Maintenant en cliquant sur "tous documents" pour la valeur M2, j’obtiens les documents 128 et 174. Les documents qui en héritent sont accessibles par leurs arborescences et j’ai ainsi tous les documents "M2".