1. Dashboard
  2. Articles
  3. Forum
  • Login or register
  • Search
This Thread
  • Everywhere
  • This Thread
  • This Forum
  • Articles
  • Pages
  • Forum
  • More Options
  1. webEdition Forum
  2. Forum
  3. Deutschsprachiges Support Forum
  4. webEdition Templates erstellen (we:tags)

we:condition auf Datumsfelder ab 9.3.1

  • Revilo
  • February 7, 2025 at 5:59 PM
1st Official Post
  • Revilo
    Beginner
    Reactions Received
    1
    Posts
    12
    • February 7, 2025 at 5:59 PM
    • #1

    Hey,

    wir haben seit dem Update von 9.1.5 auf 9.3.1 Probleme bei Listviews mit Conditions auf Datumsfelder.
    Auf der alten Version mussten wir in der Condition zusätzlich den Feldtypen angeben, also genau so wie es in der DB stand.
    Das scheint jetzt aber nicht mehr zu funktionieren. Auch ohne den Feldtypen (z.B. "EndDate") funktioniert es nicht.

    Eigentlich gar nichts kompliziertes, hier sollen einfach alle vergangenen Events ausgegeben werden:

    <we:date type="now" format="U" to="global" nameto="currNow"/>
    <we:condition name="condEventsFilterListing">
    <we:conditionAdd field="date_EndDate" var="currNow" type="global" compare="<="/>
    </we:condition>


    <we:listview type="object" name="lvEventsArchive" rows="\$eventsArchiveListingRows" classid="1" searchable="true" order="StartDate" desc="true" condition="\$condEventsFilterListing">
    <we:ifFound>
    <we:repeat>
    gefunden
    <we:repeat>
    <we:ifFound>
    </we:listview>

    Drehe ich den compare-Operator um (>=) werden mir alle Objekte ausgegeben, auch die, die in der Vergangenheit liegen.

    Handelt es sich hier um einen Bug oder hab ich irgendeine Änderung an den Datums-Conditions verpasst?

    Viele Grüße
    Oliver Geditz

  • Online
    mokraemer
    Senior Member
    Reactions Received
    10
    Posts
    116
    • February 8, 2025 at 10:51 AM
    • Best Answer
    • Official Post
    • #2

    Du hast glaube ich was verpaßt.

    Die Datumsangaben sollen nicht mehr als Unix-Time angeben werden.

    Du müßtest afaik nur

    <we:conditionAdd field="EndDate" type="now" compare="<="/>

    nutzen und die Variable weglassen. (Ob aktuell date_ noch nötig ist, hab ich grad nicht auf dem Schirm - Ziel sollte eigentlich sein, das wir die Tags so nutzen wie es in WE ist und nicht, wie man es in der DB nachschauen muß)

  • Revilo
    Beginner
    Reactions Received
    1
    Posts
    12
    • February 10, 2025 at 2:29 PM
    • #3

    Läuft jetzt, danke dir!

  • Finn February 14, 2025 at 11:16 AM

    Selected a post as the best answer.
  • +martinus+
    Beginner
    Reactions Received
    4
    Posts
    18
    • February 17, 2025 at 4:00 PM
    • #4

    Hallo zusammen,

    wenn es um genau einen Zeitpunkt geht funktioniert das mit now. Was mache ich aber, wenn ich eine Zeitspanne abfragen möchte? Beispielsweise alle Objekt zwischen dem 1.1.2025 und dem 31.12.2025. Das hier funktioniert nicht:

    PHP
    <?php
    $anf = mktime(0, 0, 0, 1, 1, $GLOBALS['Jahr']);
    $ende = mktime(0, 0, 0, 12, 31, $GLOBALS['Jahr']);
    ?>
    
    <we:condition name="con">
    	<we:conditionAdd field="date_Datum" var="anf" compare=">="/>
    	<we:conditionAnd />
    	<we:conditionAdd field="date_Datum" var="ende" compare="<="/>
    </we:condition>

    Bisher hat die von mir per php erstellte Condition funktioniert. seit 9.3.1. leider nicht mehr:

    PHP
    <?php
    $con = "date_Datum BETWEEN ".mktime(0, 0, 0, 1, 1, $GLOBALS['Jahr'])." AND ".mktime(0, 0, 0, 12, 31, $GLOBALS['Jahr']);
    ?>

    Freundliche Grüße

    Martin

  • +martinus+
    Beginner
    Reactions Received
    4
    Posts
    18
    • February 17, 2025 at 6:43 PM
    • #5

    Nach langem Suchen, auch in der Bugbase hier die Lösung für mein Zeitspannenproblem:

    PHP
    <?php
    
    
    $GLOBALS['Jahr'] = date("Y");
    $anf = $GLOBALS['Jahr']."-01-01";
    $ende = $GLOBALS['Jahr']."-12-31";
    ?>
    
    <we:condition name="con">
    	<we:conditionAdd field="date_Datum" value="$anf" compare=">"/>
    	<we:conditionAnd />
    	<we:conditionAdd field="date_Datum" value="$ende" compare="<"/>
    </we:condition>
    Display More

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!

Register Yourself Login

Donations

200.00 EUR

Donate now
  1. Privacy Policy
  2. Legal Notice
Powered by WoltLab Suite™