Objekte über listview als select option auswählbar machen und an anderer Stelle ausgeben

Fragen zum Erstellen von Templates für webEdition.
Getty24
Member
Beiträge: 40
Registriert: Mi 30. Apr 2008, 16:57

Objekte über listview als select option auswählbar machen und an anderer Stelle ausgeben

Beitragvon Getty24 » Sa 9. Mär 2019, 21:42

Hallo.
Vielleicht für einige eine einfache Frage, … ich stehe auf dem Schlauch.


Also, Veranstaltungen sind als Objekte angelegt (damit ältere über den Zeitplaner gelöscht werden können).
Mit 2 Datums-Feldern für einen "von -> bis" Termin.
Über eine Veranstaltungsseite sollen die Termine per listview -> select -> option ausgegeben, durch einen Nutzer ausgewählt und letztendlich per Formular versendet werden.
(Es ist immer die gleiche Veranstaltung mit einem Buchungsformular aber mit vielen verschiedenen Terminen.)

Code: Alles auswählen

Ihr Termin: <we:listview type="object" classid="1">
<select name="termin" onChange="showTermin(this.value)">
<we:repeat>
<option value="<we:field type="date" name="termin-von" format="d.m.Y" /> - <we:field type="date" name="termin-bis" format="d.m.Y" />">
<we:field type="date" name="termin-von" format="d.m.Y" /> - <we:field type="date" name="termin-bis" format="d.m.Y" /></option>
</we:repeat>
</select>
</we:listview>
Die Auswahlliste (select) erscheint auch korrekt auf der Veranstaltungsseite.
Einen ausgewählten Termin kann ich auch über JavaScript

Code: Alles auswählen

<script>function showTermin(val){ document.getElementById ('selectedTermin').innerHTML = val; }</script>
<div id="selectedTermin"></div>
ausgeben.
Aber ich brauch den Termin – zusätzlich (!) – auf der gleichen Seite in dem Buchungs-Formular, dort in einem hidden Field:

Code: Alles auswählen

<input type="hidden" name="Termin" value="???????"/>
Gruß

WBTMagnum
webEdition Partner
webEdition Partner
Beiträge: 1535
Registriert: Di 7. Mär 2006, 16:50
Kontaktdaten:

Re: Objekte über listview als select option auswählbar machen und an anderer Stelle ausgeben

Beitragvon WBTMagnum » Sa 9. Mär 2019, 23:16

Hallo Getty24,
  • Kannst du nicht einfach dem Value vom Select verwenden? Warum brauchst du ein extra hidden Feld?
  • Wenn du das hidden Field unbedingt brauchst, dann kannst du es ja per JS setzen.
HTH,
Sascha

Getty24
Member
Beiträge: 40
Registriert: Mi 30. Apr 2008, 16:57

Re: Objekte über listview als select option auswählbar machen und an anderer Stelle ausgeben

Beitragvon Getty24 » So 10. Mär 2019, 16:22

WBTMagnum hat geschrieben:
Sa 9. Mär 2019, 23:16
[*] Kannst du nicht einfach dem Value vom Select verwenden? Warum brauchst du ein extra hidden Feld?
Hallo Sascha.
Hört sich gut an. Aber wie genau lese ich das Value vom Select aus? PHP? WE Tag?
Das hidden Feld brauche ich für die Übergabe des Termins an das E-Mail Formular.

Und nur noch mal so: Ist es eigentlich sinnvoll die Termine einer per E-Mail Formular buchbaren (gleichbleibenden) Veranstaltung über die Objekte zu erzeugen? Ich finde es ja vorteilhaft, das durch den Zeitplaner abgelaufene Termine aus der Select Liste dann verschwinden.
Erst hatte ich überlegt, für jeden Termin eine eigene Seite zu erzeugen – ginge ja auch – dann hätte ich nur gegenüber Google mehrfach gleichen Inhalt …

Getty

mokraemer
Senior Member
Beiträge: 2776
Registriert: So 8. Aug 2010, 01:23
Wohnort: Mainz

Re: Objekte über listview als select option auswählbar machen und an anderer Stelle ausgeben

Beitragvon mokraemer » Mo 11. Mär 2019, 12:46

Hört sich gut an. Aber wie genau lese ich das Value vom Select aus? PHP? WE Tag?
z.B. über <we:setVar/> wenn du es an einer anderen Stelle als anders lautende Var brauchst, sonst per <we:var/> evtl. mit den Attributen to und nameTo.
webEdition-Kern-Entwickler

WBTMagnum
webEdition Partner
webEdition Partner
Beiträge: 1535
Registriert: Di 7. Mär 2006, 16:50
Kontaktdaten:

Re: Objekte über listview als select option auswählbar machen und an anderer Stelle ausgeben

Beitragvon WBTMagnum » Mo 11. Mär 2019, 16:15

Hallo Getty,

Mir ist leider unklar, welche Daten sich das von dir verwendete E-Mailformular erwartet. Grundsätzlich ist es so, dass die ausgewählte Option in deinem Select (termin) beim Submit übertragen wird. Du kannst also entweder an der Benennung des Selects schrauben oder das Mailformular so umstellen, dass es das Feld auswertet.

HTH,
Sascha

Getty24
Member
Beiträge: 40
Registriert: Mi 30. Apr 2008, 16:57

Re: Objekte über listview als select option auswählbar machen und an anderer Stelle ausgeben

Beitragvon Getty24 » Di 12. Mär 2019, 16:21

WBTMagnum hat geschrieben:
Mo 11. Mär 2019, 16:15
… oder das Mailformular so umstellen, dass es das Feld auswertet.
Merci. So habe ich es jetzt gemacht und es funktioniert. Und noch ifNotFound genutzt, um die Termine und den Absende-Button auszublenden, wenn keine Termine vorliegen.

Code: Alles auswählen

<form action="" method="post">

Termin bitte wählen: <we:listview type="object" classid="1"> 
<we:ifFound><select name='termin[]'><we:repeat><option value="<we:field type="date" name="termin-von" format="d.m.Y" /> - <we:field type="date" name="termin-bis" format="d.m.Y" />"><we:field type="date" name="termin-von" format="d.m.Y" /> - <we:field type="date" name="termin-bis" format="d.m.Y" /></option></we:repeat></select></we:ifFound>
<we:ifNotFound>Zur Zeit liegen keine buchbaren Termine vor</we:ifNotFound>
</we:listview><br>

Termin zur Überprüfung: <?php $termin = (isset($_POST['termin']) ? $_POST['termin']: null); print "$termin[0]"; ?><br>
Termin im hidden field nach absenden: <input type="hidden" name="selectedTermin" id="selectedTermin" value="<?php $termin = (isset($_POST['termin']) ? $_POST['termin']: null); print "$termin[0]"; ?>" />

<we:listview type="object" classid="1"><we:ifFound><input type="submit" name="submit" value="absenden"/></we:ifFound></we:listview><br>
</form>
Diese ganze <we:setVar/> Geschichte in WebEdition ist mir – als PHP Laie – immer noch ein Rätsel. Aber so geht es ja auch.

Getty


Zurück zu „webEdition Templates erstellen (we:Tags)“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 4 Gäste