eZ Find : créer des filtres Solr sur les dates

Voici un exemple de filtres Solr sur les dates des événements d’un agenda qui permettent de récupérer les événements du jour (en cours ou commençant aujourd’hui).

{def $timestamp = currentdate()
     $filter = array( 'or',
                      array( concat('event/from_time:[' , $timestamp|datetime('solr') , ' TO ' , sum($timestamp,86400)|datetime('solr') , ']')),
                      array( 'and',
                             concat('event/from_time:[* TO ' , $timestamp|datetime('solr') , ']'),
                             concat('event/to_time:[' , sum($timestamp,86400)|datetime('solr') , ' TO *]') ))}

Attention à l’utilisation d’un format de date spécifique à Solr, format défini dans la configuration ini de l’extension ezfind.

[ClassSettings]
Formats[solr]=%Y-%m-%dT%H:%i:%sZ

Edit : le format de date « solr » a été modifié dans la version actuelle d’ezfind.