Contao-Camp 2024
Ergebnis 1 bis 2 von 2

Thema: Attribut berechnen: Wert für Datum und/oder Dauer

  1. #1
    Contao-Nutzer
    Registriert seit
    16.06.2017.
    Beiträge
    22

    Standard Attribut berechnen: Wert für Datum und/oder Dauer

    Hallo zusammen, hier gab es vor 5 Jahren schon eine ähnliche Frage - gibt es dafür inzwischen eine einfach Lösung mit MetaModels (oder nachvollziehbare Kurzanleitung)?

    Beispiel:

    In der Eingabemaske gibt es 3 Eingabefelder:
    - Attribut "Timestamp/Datum" für die Eingabe eines Startdatums
    - Attribut "Select/Einzelauswahl" für die Auswahl der Dauer (1 Tag, 2 Tage... 1 Woche, 8 Tage usw. - davon abhängig werden weitere Eingabefelder in der Eingabemaske angezeigt)
    - Attribut "Timestamp/Datum" für die Eingabe eines Enddatums

    Gesucht wird eine Möglichkeit, wie das Enddatum automatisch berechnet und in dem Attribut "Enddatum" gespeichert werden kann, sobald das Startdatum und die Dauer im Backend-Eingabeformular ausgewählt oder geändert wurden.

    Für mich momentan nicht relevant, aber denkbare ähnliche Anwendungszwecke:
    - Berechnung der Dauer, sobald Stadt-/Enddatum eingegeben/geändert wurden
    - Berechnung des Startdatums, wenn Dauer und Enddatum eingegeben/geändert wurden

    Mir ist klar, dass ich diese Berechnung für die Frontend-Ausgabe im Frontend-Template machen kann oder die 3 Felder einfach manuell ausgefüllt werden können. Aber darum soll es hier nicht gehen, sondern um die Berechnung eines Wertes für ein Attribut in der Eingabemaske im Backend.

    Warum frage ich nach einer automatische Berechnung?
    - Fehlerquellen bei der Eingabe minimieren (zu schnell geklickt/kurz unaufmerksam und schon passen die Datumsangaben und Dauer nicht mehr zueinander)
    - Alle 3 Felder werden benötigt (und sollen in der Datenbank gespeichert werden), um im Frontend die Ausgabe bequem filtern zu können (zeige Einträge ab/von/bis/laufend oder aber alle Einträge mit einer Dauer von x Tagen...)

    Mit dem "combinesvalues"-Feld funktioniert das nicht, soweit ich das verstanden habe, weil mit sprintf ja nur Strings aneinander gereiht werden und keine Datumsberechnung angestellt werden kann - oder übersehe ich da etwas?

    // Edit 1: Meine Überlegung hierzu:

    Könnte man eine solche Berechnung eventuell unter system/config/dcaconfig.php durchführen und dann den dynamisch berechneten Wert als "default"-Wert für das Enddatumsfeld angeben? Ich bin mit dem dcaconfig leider nicht so vertraut und weiß nicht, wie ich dort an die bereits eingegeben Werte vom Startdatum und der Dauer herankomme.

    // Edit 2: Testsystem Contao 4.4 mit MetaModels 2.1 (aktuelle Beta-Version von Github)

    Beste Grüße
    contaotester
    Geändert von contaotester (05.03.2019 um 21:46 Uhr)

  2. #2
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.713
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von contaotester Beitrag anzeigen
    Gesucht wird eine Möglichkeit, wie das Enddatum automatisch berechnet und in dem Attribut "Enddatum" gespeichert werden kann, sobald das Startdatum und die Dauer im Backend-Eingabeformular ausgewählt oder geändert wurden.
    in den 4,5 Jahren bin ich mit MM weiter gekommen

    solche Berechnungen lassen sich "einfach" über die zur Verfügung stehenden Events (ähnlich Hooks) erledigen

    combined-values sind völlig der falsche Weg

    eine Anleitung hat m.E. bisher niemand verfasst

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •