We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 36624
    • 535 Posts
    pour aller jusque bout j’essaie donc de faire l’appel avec SSR pour optimiser (sur mon site de test j’ai effectivement 767 requetes donc ça m’interesse smiley

    l’appel est devenu :

    [[SSR? &ph_ID=`[+wf.docid+]` &phName=`pagetitle` &sName=`GetField` &snippetParams=`docid:[+wf.docid+]|field:pagetitle|parent:1` ]]

    et ça semble fonctionner sauf que j’ai exactement le même nombre de requêtes.. tout est en cache mais il me dis qu’il va quand même dans la database j’ai ptetre un problème avec cette install faut que j’explore un peu..
      CTRL+SHIFT+U - Clear Cache
      CTRL+SHIFT+H - Hiding Heft Panel
      CTRL+SHIFT+N - Fast Create Resource
      CTRL+ALT+P - Preview Recource (in edit resorce window)
      CTRL+ALT+S - Save
      • 11975
      • 2,542 Posts
      c’est ton phID qu ine va pas
      ce doit être le même smiley
      Sinon SSR ne trouve pas de valeurs stockées donc il éxécute le snippet

      :-)
        Made with MODx : [url=http://www.copadel.com]copadel, fruits et l
        • 11975
        • 2,542 Posts
        Je me rends compte que le post précédent ne doit pas être très clair.

        Pour que SSR produise ses effets il faut que le placeholder créé ait la même id.

        l’id est génére grace à la concatenation de dittoID.phname.phid
        Donc pour que le parent soit stocké et que la boucle suivante ne provoque pas de nvelles requetes phID doit etre egal au parent.
        cette valeur etant commune à tous les enfants.

        [[SSR? &ph_ID=`[+wf.docid+]` &phName=`pagetitle` &sName=`GetField` &snippetParams=`docid:[+wf.docid+]|field:pagetitle|parent:1` ]]

        Dans cette appel chaque phID sera unique doc SSR sans effets.

        Il faut donc &ph_ID=`[+wf.parent+]`
        Malheureusement cette propriete du doc n’est pas prise en compte par WF.

        Pour changer cela, i suffit de qq modifs dans le code de la classe WF.

        <?php
        //ici
        var $placeHolders = array(
        //rajouter [+wf.parent+]
        		'rowLevel' => array('[+wf.wrapper+]','[+wf.classes+]','[+wf.classnames+]','[+wf.link+]','[+wf.title+]','[+wf.linktext+]','[+wf.id+]','[+wf.attributes+]','[+wf.docid+]','[+wf.introtext+]','[+wf.description+]','[+wf.subitemcount+]'),
        		'wrapperLevel' => array('[+wf.wrapper+]','[+wf.classes+]','[+wf.classnames+]'),
        		'tvs' => array(),
        	);
        
        



        et dans la function renderRow

        <?php
        //Load row values into placholder array
        //certainement rajouter $resource['parent']
                $phArray = array($useSub,$useClass,$classNames,$resource['link'],$resource['title'],$resource['linktext'],$useId,$resource['link_attributes'],$resource['id'],$resource['introtext'],$resource['description'],$numChildren);
        
        



        :-)
          Made with MODx : [url=http://www.copadel.com]copadel, fruits et l
          • 6726
          • 7,075 Posts
          Hmmmm, intéressant ce serait sympa de proposer ce code additionnel à Jeff pour Wayfinder smiley
            .: COO - Commerce Guys - Community Driven Innovation :.


            MODx est l&#39;outil id
            • 16732
            • 592 Posts
            Pour rebondir sur le modif donnée par Helio, pour avoir accès à [+wf.parent+] dans les templates outerTpl et innerTpl il faut modifier la ligne 125 de la classe en ajoutant : ,$docInfo[’parent’] à la fin du tableau
            <?php
            $phArray = array($subMenuOutput,$useClass,$classNames,$docInfo['parent']);
            


            en plus de l’ajout de [+wf.parent+] dans le tableau $placeHolders comme indiqué précédemment

            <?php
            	var $placeHolders = array(
            		'rowLevel' => array('[+wf.wrapper+]','[+wf.classes+]','[+wf.classnames+]','[+wf.link+]','[+wf.title+]','[+wf.linktext+]','[+wf.id+]','[+wf.attributes+]','[+wf.docid+]','[+wf.introtext+]','[+wf.description+]','[+wf.subitemcount+]','[+wf.parent+]'),
            		'wrapperLevel' => array('[+wf.wrapper+]','[+wf.classes+]','[+wf.classnames+]','[+wf.parent+]'),
            		'tvs' => array(),
            	);
            

              • 11975
              • 2,542 Posts
              grin Merci Laurent

              :-)
                Made with MODx : [url=http://www.copadel.com]copadel, fruits et l
                • 36624
                • 535 Posts
                Wow !!

                Avec ces modifs dans le code je suis passé de 767 requêtes à 194 !

                merci à vous deux d’aider les noobs du php comme moi ! grin


                code final : [[SSR? &ph_ID=`[+wf.parent+]` &phName=`pagetitle` &sName=`GetField` &snippetParams=`docid:[+wf.docid+]|field:pagetitle|parent:1` ]]
                  CTRL+SHIFT+U - Clear Cache
                  CTRL+SHIFT+H - Hiding Heft Panel
                  CTRL+SHIFT+N - Fast Create Resource
                  CTRL+ALT+P - Preview Recource (in edit resorce window)
                  CTRL+ALT+S - Save