We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 17863
    • 32 Posts
    Bonjour à tous,

    J’aimerai afficher une TV à certains de mes documents.
    Pour cela, j’ai créé un groupe de document "test" et j’ai modifié les documents concernés pour leur appliquer uniquement ce groupe.
    J’ai ensuite modifié ma TV pour lui appliquer une autorisation d’accès sur "test" uniquement.

    Malgré ceci, lorsque j’édite les pages ne faisant pas partie de "test", je retrouve cette TV, alors que je n’en veux pas smiley

    NB: J’aimerai éviter la multiplication de mes templates.

    Merci pour votre aide
      --
      MacSpyre
      • 6726
      • 7,075 Posts
      La raison est simple, les groupes de documents sont utilisé pour affecter des autorisations et non pas les TV à un document, alors que ce que tu veux faire c’est affecter ta variable de modèle à un template (modèle), et ensuite affecter ce template aux documents souhaités.

      Créé un template pour les documents auxquel tu veux associer ta variable de modèle, ensuite insère là dans celui-ci avec [*le_nom_de_ta_variable*]

      Et voilà !
      :)
        .: COO - Commerce Guys - Community Driven Innovation :.


        MODx est l'outil id
        • 26083
        • 32 Posts
        J’ai le même problème. Et j’avais déjà initié la question:

        http://modxcms.com/forums/index.php/topic,8539.msg60149.html#msg60149

        La réponse de David est correcte mais ne solutionne pas le problème.

        A savoir la nécessité de multiplier les templates.

        Si j’ai un groupe de TV pour les CLIENTS, un autre pour les PRODUITS, ... Je me retrouve avec un template pour les clients et un autre pour les produits, même si ils sont par ailleurs différents.

        Je crois que c’est une limitation de Modx pour l’instant. A ce que j’ai compris ca devrait changer...

        Pour l’instant, j’ai simplement mis un maximum de chunk dans mes templates. Et je fais du copy/paste chaque fois que j’introduit une catégorie ...

        Je ne sais pas si il y a d’autre piste ...

        Stéphane
          • 17863
          • 32 Posts
          Je sais qu’il suffirait de dupliquer mon template général, mais l’intérêt des templates est moins évident.
          Dans mon cas, je ne cheche qu’à simplifier le manager dans sa saisie, et ne permettre l’édition de TV uniquement pour les pages où la fonction est désirée.

          Tant pis pour l’ergonomie du manager, je n’utiliserai qu’un template, et je lui collerai toutes les TV du site.
          Ensuite il va faloir documenter les champs légende des TV...
            --
            MacSpyre
            • 6726
            • 7,075 Posts
            Pour le fait que les TV soit associée à un template, ça bougera (elles seront associées document par document) mais pas tout de suite...

            Pour ce qui est de limiter le nombre de template, PHx permet de faire des merveilles grâce aux tests conditionnels (je peux donner quelques exemple du "comment", j’ai ansi réduit le nombre de template de 24 à 5 pour un site récemment). Et oui, c’est une bonne idée de "chunkiser" vos templates, i.e mettre dans des chunks tous les éléments récurrents...

            Sinon il faudrait un peu mieux définir les choses : que souhaitez vous faire exactement ?
            Limiter l’accès des TVs à un groupe d’utilisateur ? Si oui manager ou/et frontend ?

              .: COO - Commerce Guys - Community Driven Innovation :.


              MODx est l'outil id
              • 11975
              • 2,542 Posts
              Salut,

              est ce que vous effectuez vos tests en vous loguant comme membres du groupe auxquels est associé le groupe de document de la TV?

              Sinon voici la requete sql qui gére l’affichage des tvs dans le manager
              J’ai pas le temps là de m’attarder dessus mais ça pourrait vous aider.
              Elle se trouve dans manager/actions/mutate_content...

              $sql = "SELECT DISTINCT tv.*, IF(tvc.value!=’’,tvc.value,tv.default_text) as value ";
              $sql .= "FROM $dbase." . $table_prefix . "site_tmplvars tv ";
              $sql .= "INNER JOIN $dbase." . $table_prefix . "site_tmplvar_templates tvtpl ON tvtpl.tmplvarid = tv.id ";
              $sql .= "LEFT JOIN $dbase." . $table_prefix . "site_tmplvar_contentvalues tvc ON tvc.tmplvarid=tv.id AND tvc.contentid = $id ";
              $sql .= "LEFT JOIN $dbase." . $table_prefix . "site_tmplvar_access tva ON tva.tmplvarid=tv.id ";
              $sql .= "WHERE tvtpl.templateid = " . $template . " AND (1=’" . $_SESSION[’mgrRole’] . "’ OR ISNULL(tva.documentgroup)" . ((!$docgrp) ? "" : " OR tva.documentgroup IN ($docgrp)") . ") ORDER BY tvtpl.rank,tv.rank;";

                Made with MODx : [url=http://www.copadel.com]copadel, fruits et l
                • 6726
                • 7,075 Posts
                Normalement un utilisateur qui n’a pas l’autorisation dans le manager ne vera pas la TV en question, je ne pense pas qu’il soit utile de ré-écrire la requête... à vérifier !
                  .: COO - Commerce Guys - Community Driven Innovation :.


                  MODx est l'outil id
                  • 11975
                  • 2,542 Posts
                  C’est aussi ce que je pense c’est pour ça que j’ai posté la requête.

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