We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 31663
    • 40 Posts
    Merci je vais y jeter un oeil. embarrassed
      • 31663
      • 40 Posts
      Salut tout le monde,
      j’ai donc crée un TV appelé "marque", que j’appelle dans la balise meta "title" de mon template.

      Mon TV me récupere bien la marque quand je mets par exemple :
      @SELECT modele FROM annonces WHERE idannonce = 180
      180 étant un numero d’annonce au hasard.
      Il m’affiche donc sur toutes les annonces la marque de l’annonce 180. wink

      Mais moi je voudrais qqch du genre :
      $idannonce = $_GET[’idannonce’];
      @SELECT modele FROM annonces WHERE idannonce = $idannonce
      à mettre dans les valeurs par défaut.

      Mais malheureusement ca ne fonctionne pas... undecided
      J’y suis presque !

      Quelqu’un aurait une idée quand à la syntaxe du TV ?
      Merci à tous
        • 11975
        • 2,542 Posts
        salut,

        il y a plusieurs façon de faire et elles dépendent de ta version de modx.

        Dans la 0.9.5, on peut en utilisant une TV de type raw text (à vérifier) écrire du php ou appeler une snippet.
        Ainsi tu pourrais ecrire une snippet pour récupérer les variables postées.
        Pour les inclure dans les metas il suffira d’inscrire [*le_nom_de_ta_tv*]

        Sinon tu peux avec la 0.9.2 utilser @EVAL $tableauparam = array(’var1’=>’value1’);$modx->runSnippet(’nomDuSnippet’,$tableauparam);
        Le tout écrit sur une ligne

        Ou encore
        @CHUNK nomduchunk
        et dans le nomduchunk: [[maSnippetPourRenvoyerMesVariables]]

        :-)
          Made with MODx : [url=http://www.copadel.com]copadel, fruits et l
          • 23383
          • 138 Posts
          Quote from: vito at Nov 26, 2006, 12:17 PM

          $idannonce = $_GET[’idannonce’];
          @SELECT modele FROM annonces WHERE idannonce = $idannonce

          Au hasard : @SELECT modele FROM annonces WHERE idannonce=$_GET[’idannonce’] ?
          Si ton $_GET[’idannonnce’] que tu veux est une page de modx regarde si il y a pas d’autres moyens dans le genre [~iddocument~].
          Ou alors j’ai pas compris ce que tu voulais :s
            • 31663
            • 40 Posts
            re !

            Salut,

            merci de vos réponses, j’ai la version MODx 0.9.2.1.
            Pikachu :
            Je ne comprends pas ce que tu veux dire mais ce qui est sûr, c’est que j’ai qu’une seule page (la id=76), dans laquelle je passe des parametres (dont idannonce).
            donc je ne pense pas que ca puisse marcher avec [~iddocument~] (d’ailleurs ca correspond à quoi ?)

            heliotrope :
            Je vais donc essayer ta méthode pour la 9.2

            Merci encore à tous
              • 11975
              • 2,542 Posts
              Re,

              pour la methode du @chunk, je garantis rien grin

              sinon ici tu as un exemple de l’utilisation d’@EVAL

              http://modxcms.com/forums/index.php/topic,7458.msg52713.html#msg52713

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

                voici ce que j’ai fait :
                crée le TV "marque" mode texte contenant :
                @EVAL $tableauparam = array(’var1’=>’value1’);$modx->runSnippet(’getname’,$tableauparam);

                j’ai donc crée le snippet getname :
                $idannonce = $_GET[’idannonce’];
                $req = MYSQL_QUERY("select modele from annonces where idannonce= $idannonce");

                Et à l’appel de la page : bim ca ne marche pas... :’(
                Ais-je oublié qqch ?
                Ps : je rappelle que la page appelé est du type :
                nom.php&...&idannonce=177 <!--177 est un numero d’annonce-->
                  • 11975
                  • 2,542 Posts
                  c’est clair que c’est pas du plug and play ce que j’ai posté grin

                  Je voulais juste te donner une idée de la marche à suivre wink

                  Ca ressemblera plus à ça:
                  // doit être dans default value
                  @EVAL return $modx->runSnippet(’getMarque’);

                  Snippet getMarque
                  <?php // highlight code
                  // c'est un exemple 
                  $sql = "select marque from matable where idmarque=".$_GET['marque'];
                  if($rs= $modx->db->query($sql)){
                  $row = $modx->db->getRow($rs); // à vérifier si c'est la bonne fonction dans db-api includes/extenders je crois
                  // ou voir dans la doc
                  $marque = $row['marque'];
                  return $marque;
                  }else{
                  return "erreur";
                  }
                    Made with MODx : [url=http://www.copadel.com]copadel, fruits et l
                    • 4831
                    • 57 Posts
                    bonsoir,
                    personnellement j’ai utilisé une autre méthode : j’ai des fiches pour chaque éléments d’une liste. chaque fiche correspond à une page dans modx. A chaque fois que je veux ajouter une fiche, mon snippet crée une page. Comme le TV est associé à un id de page, le contenu change quand je change de fiche.( prix, modèle etc).
                    Les snippet viennent du "pack" catalogue with ditto and maxigallery. (dispo dans les ressources)
                      • 31663
                      • 40 Posts
                      celegorm,

                      moi je ne peux pas me permettre de créer une page pour chaque annonce (imagine déjà une centaine d’annonces !!)
                      Tu dois avoir une tonne de page pour chaque élément alors shocked