Erscheinungsdatum als Bedingung für dynamische Produktgruppe

Moin,

ich möchte als Bedingung für eine dynamische Produktgruppe auf das Feld „Erscheinungsdatum“ zurückgreifen, um zukünftig erscheinende Artikel herauszufiltern.

Allerdings bekomme ich hier keine Kombination der Operatoren zum Laufen, so das nur alle bisher veröffentlichten Produkte gelistet werden.

Da man bei allen Parametern außer den Zeit nach, Zeit bis ein konkretes Datum eingeben muss, fallen diese raus - ich möchte die dynamische Gruppe ja auch dynamisch haben.

Bei den beiden genannten Typen (die ja anscheinend seit 6.4.7.0 das Problem des relativen Bezugs angehen sollen) kann man einen Tageswert nutzen, der bis zum / nach dem Erscheinungsdatum gelten soll. Daher ging ich davon aus, dass man Zeit nach mit Größer/Gleich 0setzen könnte.

Allerdings wird dann in DB folgender Part in den Stream geschrieben:

{
  "type": "multi",
  "queries": [
    {
      "type": "equals",
      "field": "product.releaseDate",
      "value": null
    },
    {
      "type": "multi",
      "queries": [
        {
          "type": "range",
          "field": "product.releaseDate",
          "parameters": { "lte": "2022-08-02" }
        },
        {
          "type": "range",
          "field": "product.releaseDate",
          "parameters": { "lt": "2022-08-02 12:26:35.297" }
        }
      ],
      "operator": "AND"
    }
  ],
  "operator": "OR"
}

Warum hier dann zwei Mal ein < bzw <= beim product.releaseDate gesetzt wird erschließt sich mir nicht - einer würde doch vollkommen reichen?!

Hat jemand das schon mal Nutzen können und eine Idee, was ich übersehe?

Best,
Daniel

Ok, ich habe nach dem Debuggen der vendor/shopware/core/Framework/DataAbstractionLayer/Search/Parser/QueryStringParser.php die Lösung gefunden:

Damit werden nun alle Produkte inkludiert, die kein Erscheinungsdatum in der Zukunft haben.