private getFullTextFieldValue ( eZ\Publish\SPI\Persistence\Content\Field $field, eZ\Publish\SPI\Persistence\Content\Type\FieldDefinition $fieldDefinition ) : string | ||
$field | eZ\Publish\SPI\Persistence\Content\Field | |
$fieldDefinition | eZ\Publish\SPI\Persistence\Content\Type\FieldDefinition | |
Результат | string |
private function getFullTextFieldValue(Content\Field $field, Type\FieldDefinition $fieldDefinition)
{
$fieldType = $this->fieldRegistry->getType($field->type);
$indexFields = $fieldType->getIndexData($field, $fieldDefinition);
// find value to be returned (stored in FullTextField)
$fullTextFieldValue = '';
foreach ($indexFields as $field) {
/** @var \eZ\Publish\SPI\Search\Field $field */
if ($field->type instanceof FieldType\FullTextField) {
$fullTextFieldValue = $field->value;
break;
}
}
// some full text fields are stored as an array of strings
return !is_array($fullTextFieldValue) ? $fullTextFieldValue : implode(' ', $fullTextFieldValue);
}