eZ\Publish\Core\FieldType\Author\SearchField::getIndexData PHP Метод

getIndexData() публичный Метод

Get index data for field for search backend.
public getIndexData ( eZ\Publish\SPI\Persistence\Content\Field $field, eZ\Publish\SPI\Persistence\Content\Type\FieldDefinition $fieldDefinition ) : eZ\Publish\SPI\Search\Field[]
$field eZ\Publish\SPI\Persistence\Content\Field
$fieldDefinition eZ\Publish\SPI\Persistence\Content\Type\FieldDefinition
Результат eZ\Publish\SPI\Search\Field[]
    public function getIndexData(Field $field, FieldDefinition $fieldDefinition)
    {
        $name = array();
        $id = array();
        $email = array();
        foreach ($field->value->data as $author) {
            $name[] = $author['name'];
            $id[] = $author['id'];
            $email[] = $author['email'];
        }
        return array(new Search\Field('name', $name, new Search\FieldType\MultipleStringField()), new Search\Field('id', $id, new Search\FieldType\MultipleIntegerField()), new Search\Field('email', $email, new Search\FieldType\MultipleStringField()), new Search\Field('count', count($field->value->data), new Search\FieldType\IntegerField()), new Search\Field('sort_value', implode('-', $name), new Search\FieldType\StringField()), new Search\Field('fulltext', $name, new Search\FieldType\FullTextField()));
    }