NerdsAndCompany\Schematic\Models\Field::getDefinition PHP Method

getDefinition() public method

public getDefinition ( Craft\FieldModel $field, $includeContext ) : array
$field Craft\FieldModel
$includeContext
return array
    public function getDefinition(FieldModel $field, $includeContext)
    {
        $definition = ['name' => $field->name, 'required' => $field->required, 'instructions' => $field->instructions, 'translatable' => $field->translatable, 'type' => $field->type, 'settings' => $field->settings];
        if ($includeContext) {
            $definition['context'] = $field->context;
        }
        if (isset($definition['settings']['sources'])) {
            $definition['settings']['sources'] = $this->getMappedSources($field->type, $definition['settings']['sources'], 'id', 'handle');
        }
        if (isset($definition['settings']['source'])) {
            $definition['settings']['source'] = $this->getSource($field->type, $definition['settings']['source'], 'id', 'handle');
        }
        return $definition;
    }

Usage Example

Example #1
0
 /**
  * @param FieldModel $field
  * @param $includeContext
  *
  * @return array
  */
 public function getDefinition(FieldModel $field, $includeContext)
 {
     $definition = parent::getDefinition($field, $includeContext);
     $settings = $definition['settings'];
     $defaultUploadLocationSourceId = $settings['defaultUploadLocationSource'];
     $defaultUploadLocationSource = Craft::app()->schematic_assetSources->getSourceTypeById($defaultUploadLocationSourceId);
     $settings['defaultUploadLocationSource'] = $defaultUploadLocationSource ? $defaultUploadLocationSource->handle : '';
     $singleUploadLocationSourceId = $settings['singleUploadLocationSource'];
     $singleUploadLocationSource = Craft::app()->schematic_assetSources->getSourceTypeById($singleUploadLocationSourceId);
     $settings['singleUploadLocationSource'] = $singleUploadLocationSource ? $singleUploadLocationSource->handle : '';
     $definition['settings'] = $settings;
     return $definition;
 }
All Usage Examples Of NerdsAndCompany\Schematic\Models\Field::getDefinition