eZ\Publish\Core\FieldType\Country\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)
    {
        if (empty($field->value->data)) {
            return array();
        }
        $nameList = array();
        $IDCList = array();
        $alpha2List = array();
        $alpha3List = array();
        foreach ($field->value->data as $alpha2) {
            if (isset($this->countriesInfo[$alpha2])) {
                $nameList[] = $this->countriesInfo[$alpha2]['Name'];
                $IDCList[] = $this->countriesInfo[$alpha2]['IDC'];
                $alpha2List[] = $this->countriesInfo[$alpha2]['Alpha2'];
                $alpha3List[] = $this->countriesInfo[$alpha2]['Alpha3'];
            }
        }
        return array(new Search\Field('idc', $IDCList, new Search\FieldType\MultipleIntegerField()), new Search\Field('alpha2', $alpha2List, new Search\FieldType\MultipleStringField()), new Search\Field('alpha3', $alpha3List, new Search\FieldType\MultipleStringField()), new Search\Field('name', $nameList, new Search\FieldType\MultipleStringField()), new Search\Field('sort_value', $field->value->sortKey, new Search\FieldType\StringField()), new Search\Field('fulltext', $nameList, new Search\FieldType\FullTextField()));
    }