Catalog mit Formular abfragen

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • dillscher
    Contao-Nutzer
    • 04.11.2009
    • 111

    #1

    Catalog mit Formular abfragen

    Hallo zusammen,

    habe das Forum durchforstet, aber nirgends die richtigen Treffer gelandet. Also daher eine eigene Frage:

    Ist es möglich, dass ich mit einem normalen Formular den Katalog abfragen kann, um dann mit der Liste meine Ergebnisse anzuzeigen?

    Ziel ist folgendes: Besucher können nach Autos in einem Katalog suchen, verschiedene Auswahlkriterien stehen in einem Filter bereit. Bei Anzeige der Ergebnisse soll aber zusätzlich dazu noch eine Mail an den Betreiber der Seite versendet werden, in der ihm die Suchkriterien übermittelt werden, so dass er ggfs. sich noch selbst auf die Suche nach geeigneten Fahrzeugen begeben kann, wenn der Katalog keine ausreichenden Treffer ergab. Über den Filter habe ich aber keine Möglichkeit, diese Suchanfrage per Mail an den Betreiber weiterzugeben, weshalb ich versuche, dass über den Formulargenerator zu erreichen. Die Suchanfrage lässt sich damit problemlos weitergeben, aber es findet keine Auswahl der betroffenen Fahrzeuge aus dem Katalog statt.

    Gibt es da ne Option, die ich übersehe?

    Viele Grüße,

    dillscher
  • jan.theofel
    Contao-Urgestein
    • 23.06.2009
    • 1857

    #2
    Hi,

    du kannst die Parameter, die der Katalog-Filter nutzt, mittels der Erweiterung inputvar auslesen uns selbst weiterverarbeiten. Wie du die an ein Formular übergibst habe ich zufällig heute morgen bei uns im Blog beschrieben: http://www.contao-anleitungen.de/pos...orbelegen.html.

    In deinem Fall würdest du dann schon im Formular-Aufruf auch {{get::foobar}} mit nutzen um die Werte an das Formular zu übertragen.

    Jan
    Jan Theofel
    Barcamp-Moderator für Corporate-Barcamps und öffentliche Barcamps

    Kommentar

    • dillscher
      Contao-Nutzer
      • 04.11.2009
      • 111

      #3
      Sieht gut aus

      Hammer, ging das schnell. Ganz großes Dankeschön ... das sieht gut aus. Werde mich mal weiter reinarbeiten und hoffentlich alles wie gewünscht hinbekommen, aber so kann ich schon zwei Fliegen mit einer Klappe schlagen.

      Danke,

      dillscher

      Kommentar

      • dillscher
        Contao-Nutzer
        • 04.11.2009
        • 111

        #4
        Geht das auch für SELECT-Felder?

        Hallo ETES,

        so, für die Eintragungen der Filterwerte in Textfelder ist das großartig, jetzt kommt natürlich die Kür, an der ich noch knabbere. Geht es auch, dass ich im Formularfeld eine SELECT-Menü (DB) habe, dass sich aus der Taxonomie speist, aus der auch der Filter gefüttert wird, und ich in irgendeiner Form die Taxonomie-id des Filters per {{get::fahrzeug_marke}} (das ist das entsprechende Filterfeld) an das Formularfeld SELECT-Menü (DB) übergeben kann?

        Dann hätte der Besucher noch die Option, diesen Eintrag ggfs. abzuändern durch Auswahl eines neuen Wertes, bevor er das Formular abschickt. Könnte interessant sein bei weiteren Werten wie Karosserieform, Kraftstoff, etc., ohne dass er eine neue Suche ausführt.

        Viele Grüße,

        dillscher

        Kommentar

        • jan.theofel
          Contao-Urgestein
          • 23.06.2009
          • 1857

          #5
          Hi,

          klar geht das. Einfach den Sonderfall in oben verlinkter Anleitung beachten. Das habe ich heeute mit einem Feld genau dieses Typs, der ebenfalls aus dem Katalog vorbelegt wird, selbst gemacht.

          Ist allerdings z.Z. nur unschön über JS machbar. Daher auch dieser Post, damit das in Zukunft auch ohne JS funktioniert.

          Jan
          Jan Theofel
          Barcamp-Moderator für Corporate-Barcamps und öffentliche Barcamps

          Kommentar

          • dillscher
            Contao-Nutzer
            • 04.11.2009
            • 111

            #6
            hänge noch immer fest...

            Hallo Jan,

            erst nochmal vielen herzlichen Dank für Deine Hilfe. Wer lesen kann, ist eindeutig im Vorteil. Hatte Deine Sonderlösung leider einfach übersehen.

            Nun habe ich versucht, sie zu implementieren, aber es will noch nicht so recht klappen. Habe das Formular zur Weiterleitung per E-Mail aufgebaut und hier ausschnittsweise den Code:

            PHP-Code:
              <label for="ctrl_30" class="mandatory"><span class="invisible">Pflichtfeld</span> Marke<span class="mandatory">*</span></label>
            <select name="suchanfrage_fahrzeug_marke" id="ctrl_30" class="select mandatory">
            <option value="">-</option><option value="Audi">Audi</option>
            <option value="BMW">BMW</option>
            <option value="BMW-Alpina">BMW-Alpina</option>
            <option value="Ford">Ford</option>
            <option value="Landrover">Landrover</option>
            <option value="Maybach">Maybach</option>
            <option value="Mercedes-Benz">Mercedes-Benz</option>
            <option value="Opel">Opel</option>
            <option value="Porsche">Porsche</option>
            <option value="Skoda">Skoda</option>
            <option value="Smart">Smart</option>
            <option value="Trabant">Trabant</option>
            <option value="Volkswagen">Volkswagen</option>
            <option value="Wartburg">Wartburg</option>
            <option value="Wiesmann">Wiesmann</option>
            </select><br />
            
              <label for="ctrl_31" class="mandatory"><span class="invisible">Pflichtfeld</span> Modell<span class="mandatory">*</span></label> 
              <input type="text" name="fahrzeug_modell" id="ctrl_31" class="text mandatory" value="" /><br /> 
            
            So. unterhalb des Formulars habe ich als neues Inhaltselement Dein Javascript eingebaut. Spaßeshalber habe ich auch ein Refresh des unter meinem Select liegenden Textfelds gemacht:


            PHP-Code:
            <script type="text/javascript"><!--
            document.getElementById("ctrl_30").value = {{get::fahrzeug_marke}};
            document.getElementById("ctrl_31").value = {{get::fahrzeug_marke}};
            --></script> 
            
            Leider aber findet keine Aktualisierung wie gewünscht statt. Es tut sich schlicht und einfach nichts.

            Hier der Code aus dem Quelltext. Groß- und Kleinschreibung passt natürlich nicht ganz für das Select, aber er sollte das Textfeld wenigstens entsprechend aktualisieren:

            PHP-Code:
            <script type="text/javascript"><!--
            document.getElementById("ctrl_30").value = audi;
            document.getElementById("ctrl_31").value = audi;
            --></script> 
            
            Vielleicht hast Du noch einen Hinweis für mich. Wäre grandios.

            Viele Grüße,

            Christian

            Kommentar

            • jan.theofel
              Contao-Urgestein
              • 23.06.2009
              • 1857

              #7
              Hi,

              Zitat von dillscher Beitrag anzeigen
              Hier der Code aus dem Quelltext. Groß- und Kleinschreibung passt natürlich nicht ganz für das Select, aber er sollte das Textfeld wenigstens entsprechend aktualisieren:

              PHP-Code:
              <script type="text/javascript"><!--
              document.getElementById("ctrl_30").value = audi;
              document.getElementById("ctrl_31").value = audi;
              --></script> 
              
              Den Code sollte er in der Tat setzen, wenn du http://some.sample.url/foobar.html?fahrzeug_marke=Audi als URL verwendest. (Groß-/Kleinschreibung muss dabei natürlich dem value in deinem select entsprechen.)

              Welche Version von inputvar und Contao setzt du denn ein?

              Hast du es mal mit einem Minimalbeispiel versucht? Also am besten nur eine Seite, die nur den JS-Code im Content darstellt und die dann mal mit Parameter in der URL aufrufen.

              Jan
              Jan Theofel
              Barcamp-Moderator für Corporate-Barcamps und öffentliche Barcamps

              Kommentar

              • dillscher
                Contao-Nutzer
                • 04.11.2009
                • 111

                #8
                Nein, auch das Minimalbeispiel funzt nicht...

                Hallo Jan,

                lag leider die letzten Tage mit einer Erkältung flach und bin noch immer nicht dort, wo ich eigentlich hin will. Habe alles nochmals nach Deinen Maßgaben kontrolliert und das Minimalbeispiel ausprobiert.

                Die Daten kommen eindeutig im Quelltext an, aber das Javascript nimmt kein Update des darüber liegenden Formulars vor.

                Ggfs. kann ich Dir auch mal Zugang zum Backend geben per PN, wenn es Dich noch interessiert? Wäre sehr hilfreich.

                Viele Grüße,

                Christian

                Kommentar

                • dillscher
                  Contao-Nutzer
                  • 04.11.2009
                  • 111

                  #9
                  Passt jetzt!!! Großes Dankeschön!!!

                  Hallo Jan,

                  habe es jetzt nochmals versucht und mir dann auch mal einfach per HTML-Code ein eigenes kleines Formular mit mehreren Select-Varianten drunter gebaut und das zum Laufen gebracht. Und nun - siehe da - klappt auch die gewünschte Anwendung. Leider kann ich auch im Nachhinein trotz Vergleichs nicht ganz sagen, woran es lag. Möglicherweise aber an einem einfachen Versäumnis, per Reload auch den Cache zu leeren.

                  Vielen Dank und *Closed*,

                  Christian

                  Kommentar

                  Lädt...