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

    j'ai un petit bug avec getPage qui me retourne des résultats de documents nickel sauf que certains de ces résultats sont dupliqué. En faite comme si il n'avait pas réussis à accéder à ces résultats et donc à retourné le résultat précèdent. Es-que quelqu'un à eu ce genre de problème avec getPage ?

    Merci d'avance !
      • 33976 ☆ A M B ☆
      • 571 Posts
      Salut Steeve,

      Ton appel getPage ne serait pas superflu pour déceler un éventuel problème.
      Je n'ai jamais rencontré ce genre de problème, en revanche la première chose qui me vient en tête : ton appel getPage est-il caché ?

      [[getPage]] ou [[!getPage]]
        • 28432
        • 372 Posts
        Salut Romain,

        en faite c'est un snippet qui appel par la suite mon getPage

        l'appel du snippet :
        [[!Formulaire_post]]


        et le snippet :

        echo '[[!getPage? &elementClass=`modSnippet` &element=`getResources` &tpl=`PropertyResult` &depth=`2` &limit=`5` &parents=`25` &tvFilters=`'.$piscine.$climatisation.$vuedegagee.$vuemer.$grandterrain.$chambres.$region.$typ.$price.'` &includeTVs=`1` &processTVs=`1` &where=`{"template:=":3}` &sortdirTV=`ASC` &sortbyTV=`Price` &sortbyTVType=`integer` &offset=`total`]]
        [[!+page.nav:notempty=`<div class="wp-pagenavi"><ul>[[!+page.nav]]</ul></div>`]]
        ';


        J'ai aussi une autre page qui appel directement le snippet getPage qui a le même problème :

        [[!getPage? &elementClass=`modSnippet` &element=`getResources` &parents=`17` &tpl=`PropertyResult` &depth=`1` &limit=`5` &parents=`[[*id]]` &includeTVs=`1` &processTVs=`1` &where=`{"template:=":3}` &sortdirTV=`ASC` &sortbyTV=`Price` &sortbyTVType=`integer`]]
        [[!+page.nav:notempty=`<div class="wp-pagenavi"><ul>[[!+page.nav]]</ul></div>`]]


        Déjà merci Romain d'avoir répondu et j'espère que quelqu'un pourra m'aider car la je sèche !!!
        A+
          • 33976 ☆ A M B ☆
          • 571 Posts
          Steeve,

          A première vue pas d'erreur dans tes appels (si ce n'est 2 fois &parents dans ton deuxième exemple, mais cela ne devrait pas être la source/cause de ton problème).

          En revanche je serais curieux de voir ce que contiennent tes variables utilisées dans &tvFilters. M'est avis que c'est là que le bas blesse.

          Du coup, je ne peux que t'encourage (si ce n'est déjà fait) à tester cela sans getPage (juste getResources), pour voir ce qui t'est retourné (éventuellement utiliser &debug=`1` pour avoir la requête SQL exécutée).

          Pour information, lorsque je "wrap" des snippets comme tu le fais, j'utilise $modx->runSnippet (tu devrais soulager le parser ^^).
            • 28432
            • 372 Posts
            Merci pour le conseil je vais lire le RTFM (Read The Fucking Manual) pour en savoir plus sur le $modx->runSnippet.
            Désolé pour mes faiblesses, je ne fait de la POO que depuis 3 mois... et c'est dur de faire du développement à la main + du Modx + du Prestashop + du Symfony2 :s. J'ai tendance à tous mélanger lol.

            Merci Romain (grand gourou français du Modx) !
              • 33976 ☆ A M B ☆
              • 571 Posts
              Point de gourou ici ^^

              Ceci dit, runSnippet n'a rien à voir avec ton problème, c'était juste au passage.
              En revanche, j'espère que &debug te permettra de trouver où s'origine ton problème… m'est vraiment avis que dans ton tvFilters tu as des "OR" et que, du coup, getResource (qui ne fait probablement pas de query->distinct) te sort des doublons.

              N'hésites pas à faire un retour (je suis curieux ^^).

              Bon courage
                • 28432
                • 372 Posts
                Sympas le debug, par contre je vois toujours pas le soucis ! D'ailleur j'ai vraiment du mal à lire cette requête SQL...

                 SELECT `modResource`.`id`, `modResource`.`type`, `modResource`.`contentType`, `modResource`.`pagetitle`, `modResource`.`longtitle`,
                		`modResource`.`description`, `modResource`.`alias`, `modResource`.`link_attributes`, `modResource`.`published`, `modResource`.`pub_date`, 
                		`modResource`.`unpub_date`, `modResource`.`parent`, `modResource`.`isfolder`, `modResource`.`introtext`, `modResource`.`richtext`, 
                		`modResource`.`template`, `modResource`.`menuindex`, `modResource`.`searchable`, `modResource`.`cacheable`, `modResource`.`createdby`, 
                		`modResource`.`createdon`, `modResource`.`editedby`, `modResource`.`editedon`, `modResource`.`deleted`, `modResource`.`deletedon`, 
                		`modResource`.`deletedby`, `modResource`.`publishedon`, `modResource`.`publishedby`, `modResource`.`menutitle`, `modResource`.`donthit`, 
                		`modResource`.`privateweb`, `modResource`.`privatemgr`, `modResource`.`content_dispo`, `modResource`.`hidemenu`, `modResource`.`class_key`, 
                		`modResource`.`context_key`, `modResource`.`content_type`, `modResource`.`uri`, `modResource`.`uri_override`, 
                 CAST(IFNULL(tvSort.value, tvDefault.default_text) AS SIGNED INTEGER) AS sortTV FROM `modx_site_content` AS `modResource` 
                 LEFT JOIN `modx_site_tmplvars` `tvDefault` ON `tvDefault`.`name` = 'Price' LEFT JOIN `modx_site_tmplvar_contentvalues` `tvSort` 
                 ON  ( tvSort.contentid = modResource.id AND tvSort.tmplvarid = tvDefault.id )  
                 WHERE  (  ( modResource.parent IN (33,109,113,151,139,140,152,141,142,143,148,144,145,146,147,149,153,154,155,156,157,158,159,165,111,112) 
                 AND (modResource.context_key IN ('web') 
                 OR EXISTS(SELECT 1 FROM `modx_context_resource` ctx WHERE ctx.resource = modResource.id 
                 AND ctx.context_key IN ('web'))) )  
                 AND `modResource`.`deleted` = 0 
                 AND `modResource`.`published` = 1 
                 AND `modResource`.`hidemenu` = 0 
                 AND `modResource`.`template` = 3 )  
                 ORDER BY sortTV ASC, publishedon DESC LIMIT 20, 5 
                  • 33976 ☆ A M B ☆
                  • 571 Posts
                  Je t'avouerais que le CAST me perturbe un peu (je ne mange pas *encore* du SQL au petit déj').

                  Je me documente et reviens vers toi dès que possible
                    • 28432
                    • 372 Posts
                    Toujours pas trouvé de solution je relance le sujet si jamais quelqu'un a une idée wink