We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 38506
    • 103 Posts
    J'essaye d'afficher selon le département qu'on choisit les ressources enfante. (bouton select)

    mon snippet (merci romain !) :

    <?php
    /**
     * @var modX $modx
     */
     
    // Paramètres communs à tous les départements
    $parametres = array(
        'element' => 'getResources',
        'elementClass' => 'modSnippet',
        'parents' => $modx->resource->get('id'),
        'depth' => 2,
        'limit' => 6,
        'pageVarKey' => 'page',
        'includeTVs' => 1,
        'includeContent' => 1,
        'includeTVList' => 'ma_tv,tarif,ref,tel,departement',
        'tpl' => 'article',
        'processTVs' => 1,
      
        'pageLastTpl' => '<li class=\"control\"><a[[+title]] href="[[+href]]">Dernière page</a></li>',
        'pageFirstTpl' => '<li class=\"control\"><a[[+title]] href="[[+href]]">Première page</a></li>',
    );
     
    // Switch selon le département choisi
    switch ($_POST['departement']) {
        case 'ardeche':
            // on ajoute les paramètres spécifiques au département
            $parametres = array_merge($parametres, array(
                'tvFilters' => 'departement==Ardeche',
                'resources' => '-12,-13',
            ));
            // on execute le snippet
            return $modx->runSnippet('getPage', $parametres);
            break;
     
        case 'drome':
            $parametres = array_merge($parametres, array(
    	  'parents' => $modx->resource->get('id'),
                'tvFilters' => 'departement==Drome',
                'resources' => '-12,-13',
    	  'parents' => '31',
            ));
            return $modx->runSnippet('getPage', $parametres);
            break;
      
       case 'isere':
            $parametres = array_merge($parametres, array(
                'tvFilters' => 'departement==Isere',
                'resources' => '-12,-13',
            ));
            return $modx->runSnippet('getPage', $parametres);
            break;
      
      case 'rhone':
            $parametres = array_merge($parametres, array(
                'tvFilters' => 'departement==Rhone',
                'resources' => '-12,-13',
            ));
            return $modx->runSnippet('getPage', $parametres);
            break;
     
     
        default:
              return $modx->runSnippet('getPage', $parametres);
            break;
    }
     
    return 'Normalement on ne doit jamais voir ce message, sinon une erreur s\'est glissée dans le code!';
    


    problème 1 :
    Le code marche, les offres apparaissent triées, mais lorsqu'il ya plusieurs pages, et qu'on clique sur les numéros de page, il renvoie vers la case défaut (affichage de toutes les offres ici)

    problème 2 :
    la navigations de page ne marche pas comme il faut. des fois on ne peux meme pas cliquer sur les numéros de page. sauf quand on est sur la première !

    Si vous comprenez pas trop c'est ici : http://www.groupeta.net/modx/index.php?id=31

    ce qui est bizarre c'est que lorsque je sors le code et le mets directement dans l'html il marche très bien !!
      • 33976 ☆ A M B ☆
      • 571 Posts
      montilletp,

      On en revient au problème initial, comment getPage peut-il récupérer le filtrage (département) vu que utilises un formulaire et $_POST ?

      Si ma mémoire est bonne, la pagination est construite en fonction de l'id de la ressource (et son URI) ainsi que les paramètres $_GET.

      Je réitère ma suggestion d'utiliser un paramètre $_GET, ex. : &departement=drome
        • 38506
        • 103 Posts
        ben quand je met un paramère $_GET cela ne marchait pas, dès que je selectionne ça revient au début... du coup j'avais remis en $_POST
          • 33976 ☆ A M B ☆
          • 571 Posts
          Serait-il possible d'avoir un accès au back-end ?
            • 38506
            • 103 Posts
            yep pas de pb, je te fait un compte utilisateur
              • 38506
              • 103 Posts
              c quoi ton adresse email ?
                • 33976 ☆ A M B ☆
                • 571 Posts
                Passes par les messages privés smiley
                  • 38506
                  • 103 Posts
                  c'est bn c'est fait je viiens de t'envoyer un msg privé
                    • 38506
                    • 103 Posts
                    Bonjour !

                    Bon, avecc le code ci-dessus, j'aimerai pouvoir dire que s'il n'y a pas de résultats retournés qu'il affiche un résultat genre :"veuillez réessayer avec d'autre critères..."

                    Mais pas moyen de trouver sad
                      • 38506
                      • 103 Posts
                      Bonjour !

                      Bon, avecc le code ci-dessus, j'aimerai pouvoir dire que s'il n'y a pas de résultats retournés qu'il affiche un résultat genre :"veuillez réessayer avec d'autre critères..."

                      Mais pas moyen de trouver sad