We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 7971
    • 263 Posts
    Hallo wenn ich ein in MODx so übergebe [~4~]?cat=test

    Wie schaffe ich es dann mir den inhalt der Variable "cat" auf Seite [~4~] auszugeben?
      • 24530
      • 100 Posts
      A) ... in einem Snippet per PHP die $GET oder $REQUEST - Variable auslesen und ausgeben ...
      mehr Infos zum Beispiel hier: http://www.schattenbaum.net/php/variable2.php

      B) ... per JavaScript location.href auslesen, den Wert extrahieren und ausgeben (funktioniert natürlich nur bei Rechnern mit JavaScript!). Ist komplizierter, unzuverlässiger und langsamer ... also wohl per PHP besser
      mehr Infos zum Beispiel hier: http://de.selfhtml.org/javascript/objekte/location.htm#href
        my newest webpage [url=http://gitarren.zucali.at]Meisterwerkstatt f
        • 7971
        • 263 Posts
        Ok. Das mit dem GET ist ja klar. Also erstelle ich ein Snippet: "GetAllVars"
        mit solch einem Inhalt:
        $cat = $_GET['cat'];
        


        Dann im Content-Bereich von MODx:

        [GetAllVars] <-- oder mit Ausrufezeichen???

        Wie gebe ich jetzt den Inhalt aus das ich die Varibale z.b. in einem
        Ditto-Call nutzen kann?
        Wie heisst das dann? [*cat*] oder wie? huh
          • 24530
          • 100 Posts
          http://wiki.modxcms.com/index.php/De:Hauptseite
          ... hier findest du alle Antworten


          [edit]
          ok ... so einfach is es nicht mal zu finden. das deutsche wiki ist noch nicht so wirklich vollständig ...
          nichts desto trotz, einfach ein bisschen lesen - im Wiki und unter http://modxcms.com/documentation.html
          ich hoffe, du kannst auch ein bisschen englisch.
          Darüber hinaus solltest du nachschauen
          1. wie du die Variable auch ausgibst (zB mit der Zeile "return $cat;")
          oder mit http://wiki.modxcms.com/index.php/De:DocumentParser#Set_Placeholder
          2. ob du nicht vorher abfragen solltest, ob es überhaupt $_GET[’cat’] gibt
          3. wie du Snippets "cached" bzw "uncached" aufrufst
            my newest webpage [url=http://gitarren.zucali.at]Meisterwerkstatt f
            • 7971
            • 263 Posts
            Hm....

            Das problem ist das ich zwar englisch sprechen und verstehen kann aber nicht englisch denken.
            Und da liegt der Hund begraben. Zudem ist Dokumentation ja wirklich mehr als gruselig.
            Klar habe ich schon mal etwas von "placeholdern" gehört. Aber wo steh z.B. wofür die genau da sind und wie man diese genau verwendet?
            Richtööög nirgends. Placeholder 1,2,3 bamm und das wars. Und jetzt?
            Ich bin ja bereit zu lesen ohne ende. Würde es ein deutschsprachiges Buch geben hätte ich es schon.

            OK. Dank deiner Ausführung glaube ich zu verstehen was man mit den placeholdern machen kann. Hätte ich nur die Wiki gelesen wüsste ich garnichts damit anzufangen.

              • 10449
              • 956 Posts
              Nun ja, sooo tragisch ists nun auch wieder nicht. Leg Dir einen Ordner an mit modx-Links / Bookmarks. Teilweise sind die Infos halt schon wild verstreut, aber "it’s out there" smiley
              Schon mal versucht, in Typo3 Doks gezielt etwas zu finden? Viel Spass dann auch :|

              Zu Deiner Frage:
              Ich würde ein Snippet namens getCat speichern:

              unset($cat);
              $cat = trim($_GET[’cat’]);
              if(!$cat) {
              return false;
              } else {
              return $cat;
              }

              Im Template oder im Dokument kannst Du das dann so verwenden:
              [!getCat!]

              [!!] weil man keinen Cache möchte bei GET parametern

              In einem Ditto Aufruf würdest Du das dann ungefähr so schreiben:

              [[Ditto? &param=`[!getCat!]`]]

              oder:

              [!Ditto? &param=`[[getCat]]`!]

              d.h. Du musst die ge-cachte und ungechachte Syntax verschachteln / abwechseln.
              [!Ditto? &param=`[!getCat!]`!] und [[Ditto? &param=`[[getCat]]`]] geht also nicht.
                • 7971
                • 263 Posts
                Irgendwie klappt das nicht.

                Hier mein Snippet:
                <?php
                unset($cat);
                $cat = trim($_POST['cat']);
                if(!$cat) {
                return false;
                } else {
                return $cat;
                }
                ?>
                


                Über ein Formular im Template möchte ich auf die Seite verweisen die das Suchergebnis enthält.
                Momentan bekomme ich ja nichtmal den Inhalt der Variable $cat angezeigt. Egal wie ich das Snippet aufrufe.

                Code im Template:
                <form id="form1" name="form1" method="post" action="[~14~]">
                	       <h2 align="left">Bitte auswahl treffen:</h2>
                	       
                	       <div class="AutoFont">Stadt:</div>
                              <select name="cat" id="cat" class="FormFeld">
                                <option value="BITTE AUSWÄHLEN" selected="selected">BITTE AUSWÄHLEN</option>
                                <option value="000">000</option>
                	             <option value="001">001</option>
                	             <option value="002">002</option>
                	             <option value="003">003</option>
                	             <option value="004">004</option>
                	             <option value="005">005</option>
                	             <option value="006">006</option>
                            </select>
                ...
                ...
                


                Zum Testen habe wollte ich einfach mal die Ausgabe der Variable. Also habe ich mal diverse Varianten ausproniert:
                [!getCat!]
                [getCat]
                [!getCat]
                [getCat!]

                Er gibt mir dann auf der Seite das aus:
                [[getCat]]
                [getCat]
                [[getCat]
                [getCat]]
                  • 10449
                  • 956 Posts
                  Sind diese Seiten (Formular und Formular-Folgeseite) gecacht?
                  Versuch sonst statt return -> echo() im snippet zu nehmen.
                    • 7971
                    • 263 Posts
                    Das Formular ist im Template drin. (keine Ahnung ob das gecached ist oder nicht. Wo sehe ich das?)
                    Die Ergebniseite ist ungecahed. Habe aber aber auch schon gecached probiert. Und auch die Echo Variante.
                    Geht leider alles nicht.
                      • 10449
                      • 956 Posts
                      Nimm das Snippet in’s Dokument rein, nicht in’s Template.

                      Wenn Du also ein generelles Debug Snippet hast wie z.B.

                      echo '<pre>';
                      print_r($_POST);
                      echo '</pre>';


                      um alle Formular-Werte anzuzeigen, gib einfach [!printPost!] in’s Dokument ein. Wenn auch das nicht geht, ist sonstwas schief mit Deiner Apache/PHP Installation...