[Frage] Zugriff -> Ablaufdatum ignoriert 2021 [Gelöst] TYPO3-Version: 6.2.6

  • foomaker foomaker
    TYPO3-Anwärter
    0 x
    6 Beiträge
    0 Hilfreiche Beiträge
    11. 01. 2021, 11:23

    Eine frohes neues Jahr zusammen!

    Erster Tag im Büro und es fängt direkt "gut" an. Das Formularfeld "Ablaufdatum" in Tab "Zugriff" ignoriert das neue Jahr 2021. Selbst bei manueller Eingabe von "31.1.2021" oder "2021-01-31" wird die Eingabe automatisch durch "23:00 2020-12-23" ersetzt.

    Das Feld "Veröffentlichungsdatum" hingegen verhält sich normal.
    Im Quelltext sind die beiden betreffenden Inputfelder so gecodet:

    1. <input type="text" id="tceforms-datetimefield-5ffc12aa2b295" class="formField tceforms-textfield tceforms-datetimefield hasDefaultValue" name="data[tt_content][36][starttime]_hr" value="" style="width: 163px; " maxlength="20" onchange="typo3form.fieldGet('data[tt_content][36][starttime]','datetime','',1,'0');TBE_EDITOR.fieldChanged('tt_content','36','starttime','data[tt_content][36][starttime]');">

    1. <input type="text" id="tceforms-datetimefield-5ffc12aa2b505" class="formField tceforms-textfield tceforms-datetimefield upper-1609369200 hasDefaultValue" name="data[tt_content][36][endtime]_hr" value="" style="width: 163px; " maxlength="20" onchange="typo3form.fieldGet('data[tt_content][36][endtime]','datetime','',1,'0');TBE_EDITOR.fieldChanged('tt_content','36','endtime','data[tt_content][36][endtime]');">

    (Wie die beiden "1." dahin kommen, ist mir allerdings schleierhaft)

    Dabei fällt auf, dass im class-Attribut des 'endtime'-Feldes ein zusätzlicher Parameter angegeben ist:

    1. class="...upper-1609369200..."

    Unix-Zeit für 31.12.2020.

    Wenn ich das richtig sehe, muss ich also jetzt "nur noch" das HTML-Template finden, das "upper-..." enthält. Oder wird das dynamisch genertiert. Aber wo?

    Ich finde es nicht. Hat eine*r einen Tipp?

  • 1 x
    3142 Beiträge
    140 Hilfreiche Beiträge
    11. 01. 2021, 16:17 - Lösung

    Der Wert ist (in älteren TYPO3-Versionen) teils im TCA zu finden. Dort wird als obere Grenze der Range fürs Datum ein 'upper' => mktime(0, 0, 0, 12, 31, 2020) gesetzt.

    Konnte den Grund dafür nicht herausfinden, war IMO aber eine Beschränkung von PHP oder MySQL - damals irgendwann...

    Aufgrund des gecachten TCA ist es etwas umständlicher zu überschreiben. Letztlich brauchst Du eine Extension, die diese Stellen im TCA über Overrides überschreibt.


  • 1
  • 1 x
    3142 Beiträge
    140 Hilfreiche Beiträge
    11. 01. 2021, 16:17

    Der Wert ist (in älteren TYPO3-Versionen) teils im TCA zu finden. Dort wird als obere Grenze der Range fürs Datum ein 'upper' => mktime(0, 0, 0, 12, 31, 2020) gesetzt.

    Konnte den Grund dafür nicht herausfinden, war IMO aber eine Beschränkung von PHP oder MySQL - damals irgendwann...

    Aufgrund des gecachten TCA ist es etwas umständlicher zu überschreiben. Letztlich brauchst Du eine Extension, die diese Stellen im TCA über Overrides überschreibt.

  • foomaker foomaker
    TYPO3-Anwärter
    0 x
    6 Beiträge
    0 Hilfreiche Beiträge
    12. 01. 2021, 07:12

    Vielen Dank für die Erläuterung.
    Hab's tatsächlich auch gestern noch gefunden:

    In typo3/sysext/frontend/Configuration/TCA/tt_content.php stand dies:

    1. 'endtime' => array(
    2. 'exclude' => 1,
    3. 'label' => 'LLL:EXT:lang/locallang_general.xlf:LGL.endtime',
    4. 'config' => array(
    5. 'type' => 'input',
    6. 'size' => '13',
    7. 'max' => '20',
    8. 'eval' => 'datetime',
    9. 'default' => '0',
    10. 'range' => array(
    11. 'upper' => mktime(0, 0, 0, 12, 31, 2020)
    12. )
    13. ),
    14. 'l10n_mode' => 'exclude',
    15. 'l10n_display' => 'defaultAsReadonly'
    16. ),

    So wird auch klar, waum ich mit de Sucher nach "upper-" etc. nicht weiterkam.
    Das array-Element "range" auskommentiert, Cache gelöscht, fertig.

  • Parsival_7 Parsival_...
    Jar Jar Binks
    0 x
    1 Beiträge
    0 Hilfreiche Beiträge
    13. 01. 2021, 11:12

    Hallo :)
    Ich habe genau das gleiche Problem, nur finde ich bei mir nicht den Ordner "frontend".
    Kann ich den noch irgendwo anders finden?
    Bin ziemlich neu in Typo3 und kaum Erfahrung.
    Ich finde die Ordner typo3 und sysext aber kein frontend und beim suchen kann ich auch nichts finden. Vielen Dank schon mal! Liebe Grüße Christina

  • 1