diff --git a/eZ/Publish/Core/FieldType/Date/SearchField.php b/eZ/Publish/Core/FieldType/Date/SearchField.php new file mode 100644 index 00000000000..f6abf97cf11 --- /dev/null +++ b/eZ/Publish/Core/FieldType/Date/SearchField.php @@ -0,0 +1,65 @@ +value->data["timestamp"], + new Search\FieldType\IntegerField() + ), + ); + } + + /** + * Get index field types for search backend + * + * @return \eZ\Publish\SPI\Search\FieldType[] + */ + public function getIndexDefinition() + { + return array( + 'value' => new Search\FieldType\IntegerField(), + ); + } + + /** + * Get name of the default field to be used for query and sort. + * + * As field types can index multiple fields (see MapLocation field type's + * implementation of this interface), this method is used to define default + * field for query and sort. Default field is typically used by Field + * criterion and sort clause. + * + * @return string + */ + public function getDefaultField() + { + return "value"; + } +} diff --git a/eZ/Publish/Core/settings/indexable_fieldtypes.yml b/eZ/Publish/Core/settings/indexable_fieldtypes.yml index 0cdcd8f5b28..b4c49ccc569 100644 --- a/eZ/Publish/Core/settings/indexable_fieldtypes.yml +++ b/eZ/Publish/Core/settings/indexable_fieldtypes.yml @@ -1,5 +1,6 @@ parameters: ezpublish.fieldType.indexable.ezstring.class: eZ\Publish\Core\FieldType\TextLine\SearchField + ezpublish.fieldType.indexable.ezdate.class: eZ\Publish\Core\FieldType\Date\SearchField ezpublish.fieldType.indexable.ezprice.class: eZ\Publish\Core\FieldType\Price\SearchField ezpublish.fieldType.indexable.ezgmaplocation.class: eZ\Publish\Core\FieldType\MapLocation\SearchField ezpublish.fieldType.indexable.ezcountry.class: eZ\Publish\Core\FieldType\Country\SearchField @@ -27,6 +28,11 @@ services: tags: - {name: ezpublish.fieldType.indexable, alias: ezcountry} + ezpublish.fieldType.indexable.ezdate: + class: %ezpublish.fieldType.indexable.ezdate.class% + tags: + - {name: ezpublish.fieldType.indexable, alias: ezdate} + ezpublish.fieldType.indexable.ezinteger: class: %ezpublish.fieldType.indexable.ezinteger.class% tags: @@ -64,7 +70,6 @@ services: - {name: ezpublish.fieldType.indexable, alias: ezimage} - {name: ezpublish.fieldType.indexable, alias: ezboolean} - {name: ezpublish.fieldType.indexable, alias: ezkeyword} - - {name: ezpublish.fieldType.indexable, alias: ezdate} - {name: ezpublish.fieldType.indexable, alias: eztime} - {name: ezpublish.fieldType.indexable, alias: ezdatetime} - {name: ezpublish.fieldType.indexable, alias: ezinisetting}