powermail 2.x -- Datepicker ohne Vergangenheit [Gelöst]

  • wwt wwt
    Padawan
    0 x
    39 Beiträge
    0 Hilfreiche Beiträge
    20. 11. 2012, 08:51

    Hallo!

    Verwende powermail 2.0.4, Typo3 4.7.5.

    Ich kann im Formular das Feld mit aktuellem Datum belegen, oder auch mit künftigen mit:

    1. plugin.tx_powermail {
    2. settings {
    3. setup {
    4. prefill {
    5. anreise = TEXT
    6. #aktuelles Datum plus 1 Tag (=*86400 Sekunden)
    7. anreise.data = date:U + (1*86400)
    8. anreise.prioriCalc = 1
    9. anreise.strftime = %d.%m.%Y
    10. }
    11. }
    12. }
    13. }

    [b]1.) Wie stell ich es an, dass ein Minimumwert - also kein Datum in der Vergangenheit - eingehalten wird?

    2.) Wie übergebe ich an ein zweites Feld einen Wert aus dem ersten + 3 Tage?[/b]

    Beispiel:
    Anreisedatum = prefill oder per manuelle Eingabe
    Abreisedatum = gesetztes Anreisedatum + 3 Tage

    Das funktioniert leider nicht:

    1. plugin.tx_powermail {
    2. settings {
    3. setup {
    4. prefill {
    5. anreise = TEXT
    6. #aktuelles Datum plus 1 Tag (=*86400 Sekunden)
    7. anreise.data = date:U + (1*86400)
    8. anreise.prioriCalc = 1
    9. anreise.strftime = %d.%m.%Y
    10.  
    11. abreise = TEXT
    12. #anreisedatum plus 3 Tag (=*86400 Sekunden)
    13. abreise.data = GP:anreise + (3*86400)
    14. abreise.prioriCalc = 1
    15. abreise.strftime = %d.%m.%Y
    16. }
    17. }
    18. }
    19. }


    Hat jemand einen Ansastz zu Punkt 1 und/oder 2?

    Vielen Dank,
    Josef.


  • 1
  • einpraegsam.net einpraegs...
    MacGyver
    0 x
    9340 Beiträge
    80 Hilfreiche Beiträge
    21. 11. 2012, 21:25

    Hi,

    genaue Einstellungen muss man über JavaScript mitgeben
    http://jqueryui.com/datepicker/

    Grüße

    in2code.de - Wir leben TYPO3
    - Möchtest du TYPO3 komplett verstehen? Eigene Erweiterungen erstellen? Bei uns gibt es auch Schulungen https://www.in2code.de/produkte/typo3-schulungen/
    - Die Arbeit mit TYPO3 macht dir Spaß? Du stehst auf Berge? Komm zu uns! https://www.in2code.de/agentur/karriere/

  • wwt wwt
    Padawan
    0 x
    39 Beiträge
    0 Hilfreiche Beiträge
    22. 11. 2012, 09:27

    Danke Alex für den Input!
    ------------------------------------------------------------------------------------------------

    [b]Punkt 1.) = schnell gelöst![/b]

    In Powermail Datei wählen in: ../Recources/Public/Js/jquery.ui.datepicker.min.js
    nach "minDate" suchen.

    Der Wert ist: [b]minDate:NULL[/b]
    Diesen ändern auf: [b]minDate:new Date()[/b]

    Damit ist ein Datum in der Vergangenheit nicht mehr anwählbar.
    ------------------------------------------------------------------------------------------------
    [b]Punkt 2.) = noch ungelöst![/b]

    Dafür gibt es eine super Vorgabe des ui.datepicker. Nennt sich "select a date range"
    Man bindet folgendes Script in die Seite ein (kann natürlich angepasst werden):

    1. <script>
    2. $(function() {
    3. $( "#from" ).datepicker({
    4. defaultDate: "+1w",
    5. changeMonth: true,
    6. numberOfMonths: 3,
    7. onClose: function( selectedDate ) {
    8. $( "#to" ).datepicker( "option", "minDate", selectedDate );
    9. }
    10. });
    11. $( "#to" ).datepicker({
    12. defaultDate: "+1w",
    13. changeMonth: true,
    14. numberOfMonths: 3,
    15. onClose: function( selectedDate ) {
    16. $( "#from" ).datepicker( "option", "maxDate", selectedDate );
    17. }
    18. });
    19. });
    20. </script>

    Dann die Labels und inputs zuweisen:
    <label for="from">From</label> <input type="text" id="from" name="from" />
    <label for="to">To</label> <input type="text" id="to" name="to" />

    funktioniert prima.

    ABER:
    Wenn ich
    <input type="text" id="from" name="from" /> und
    <input type="text" id="to" name="to" />
    in ein HTML Feld eintrage, erscheint es im Formuar richtig, aber beim Versand ist es nicht mehr da, weil das HTML Element nicht übergeben wird.

    Wie kann ich also die beiden labels mit der input id "from" und "to in Typoscript dem Label zuweisen?

    Das geht schon mal nicht:

    1. plugin.tx_powermail {
    2. settings {
    3. setup {
    4. prefill {
    5. from = TEXT
    6. from.id = from
    7. }
    8. }
    9. }

    Bitte um Hilfe wie ich die JavaScript Ausgabe dem Marker zuweisen kann!

    ------------------------------------------------------------------------------------------------

    Danke, Josef.

  • wwt wwt
    Padawan
    0 x
    39 Beiträge
    0 Hilfreiche Beiträge
    22. 11. 2012, 18:40

    [b]Punkt 2.) = gelöst![/b]

    Zuerst das Feld mit einem normalen Textfeld(input) belegen.
    Dann das nachstehend gepostete Javascript in die Seite einbinden.

    1. <script>
    2. $(function() {
    3. $( "#from" ).datepicker({
    4. defaultDate: "+1w",
    5. changeMonth: true,
    6. numberOfMonths: 3,
    7. onClose: function( selectedDate ) {
    8. $( "#to" ).datepicker( "option", "minDate", selectedDate );
    9. }
    10. });
    11. $( "#to" ).datepicker({
    12. defaultDate: "+1w",
    13. changeMonth: true,
    14. numberOfMonths: 3,
    15. onClose: function( selectedDate ) {
    16. $( "#from" ).datepicker( "option", "maxDate", selectedDate );
    17. }
    18. });
    19. });
    20. </script>

    Danach einfach die id: "#from" und die id: "#to" auf den manuell eingegeben Variablennamen ändern.
    Mein Variablenname lautet: {anreise1} und {abreise1}.

    Diese Name werden im Quelltext mit der id: "powermail_field_anreise1" und "powermail_field_abreise1" ausgegeben.

    Daher ändern wir im Javascript die id: "#from" zu "#powermail_field_anreise1" und die id: "#to" zu "#powermail_field_abreise1".

    Danach wird das Datum genau an den textfeldern ausgegeben. Klappt wunderbar und ist genau was ich gesucht habe.

    Das war's. Hoffe ich konnte helfen.

    Gruß, Josef.

  • alexinge alexinge
    Padawan
    0 x
    51 Beiträge
    0 Hilfreiche Beiträge
    25. 04. 2023, 13:23

    Hallo!
    Ich verwende Typo3 11 und Powermail 10.6.0. Ich habe schon viel recherchiert und ausprobiert, aber ich schaffe es nicht den Datepicker anzupassen:

    [code]#powermail_field_za-anreise[/code]
    [code]page.headerData.5000=TEXT[/code]
    [code]page.headerData.5000.value ([/code]
    [code]<script>[/code]
    [code]$(function() {[/code]
    [code]$( "#powermail_field_za-anreise" ).datepicker({[/code]
    [code]defaultDate: "+1w",[/code]
    [code]changeMonth: true,[/code]
    [code]numberOfMonths: 3,[/code]
    [code]});[/code]
    [code]});[/code]
    [code]</script>[/code]
    [code])[/code]
    [code][/code]
    [code]/*[/code]
    [code]page.headerData.5000=TEXT[/code]
    [code]page.headerData.5000.value ([/code]
    [code]<script>[/code]
    [code]$(document).ready(function () {[/code]
    [code]$(function() {[/code]
    [code]$("#powermail_field_za-anreise").datepicker();[/code]
    [code]//$("#powermail_field_za-anreise").datepicker({ minDate: -20});[/code]
    [code]//$("#powermail_field_za-anreise").datepicker().datepicker("setDate", new Date());[/code]
    [code]$( "#powermail_field_za-anreise" ).datepicker({[/code]
    [code]defaultDate: "+1w",[/code]
    [code]changeMonth: false,[/code]
    [code]numberOfMonths: 1[/code]
    [code]});[/code]
    [code]});[/code]
    [code]});[/code]
    [code]</script>[/code]
    [code])[/code]
    */

    Über einen Tipp würde ich mich sehr freuen.

  • 1