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.
Great tip! What version of eZ Find are you using? Newer versions should have the « solr » date format but without the milliseconds: https://github.com/ezsystems/ezfind/blob/master/settings/datetime.ini.append.php
You’re right. I used this datetime format on an old ezfind 2.4. Thanks for the update !