eZ\Publish\Core\Persistence\Legacy\Content\FieldValue\Converter\CountryConverter::toFieldDefinition PHP Method

toFieldDefinition() public method

Converts field definition data in $storageDef into $fieldDef.
public toFieldDefinition ( StorageFieldDefinition $storageDef, eZ\Publish\SPI\Persistence\Content\Type\FieldDefinition $fieldDef )
$storageDef eZ\Publish\Core\Persistence\Legacy\Content\StorageFieldDefinition
$fieldDef eZ\Publish\SPI\Persistence\Content\Type\FieldDefinition
    public function toFieldDefinition(StorageFieldDefinition $storageDef, FieldDefinition $fieldDef)
    {
        $fieldDef->fieldTypeConstraints->fieldSettings = new FieldSettings(array('isMultiple' => !empty($storageDef->dataInt1) ? (bool) $storageDef->dataInt1 : false));
        $fieldDef->defaultValue->data = empty($storageDef->dataText5) ? null : explode(',', $storageDef->dataText5);
        // TODO This will contain comma separated country codes, which is correct for value but not for sort key.
        // Sort key should contain comma separated lowercased country names.
        $fieldDef->defaultValue->sortKey = $storageDef->dataText5;
    }

Usage Example

Beispiel #1
0
 /**
  * @group fieldType
  * @group country
  * @covers \eZ\Publish\Core\Persistence\Legacy\Content\FieldValue\Converter\CountryConverter::toFieldDefinition
  */
 public function testToFieldDefinitionSingle()
 {
     $fieldDef = new PersistenceFieldDefinition();
     $this->converter->toFieldDefinition(new StorageFieldDefinition(array('dataInt1' => 0, 'dataText5' => '')), $fieldDef);
     self::assertInstanceOf('eZ\\Publish\\Core\\FieldType\\FieldSettings', $fieldDef->fieldTypeConstraints->fieldSettings);
     self::assertFalse($fieldDef->fieldTypeConstraints->fieldSettings['isMultiple']);
     self::assertNull($fieldDef->defaultValue->data);
 }