/** * @param array $fieldDefinition * @param FieldModel $field * @param string $fieldHandle * @param FieldGroupModel|null $group */ public function populate(array $fieldDefinition, FieldModel $field, $fieldHandle, FieldGroupModel $group = null) { parent::populate($fieldDefinition, $field, $fieldHandle, $group); /** @var MatrixSettingsModel $settingsModel */ $settingsModel = $field->getFieldType()->getSettings(); $settingsModel->setAttributes($fieldDefinition['settings']); $settingsModel->setBlockTypes($this->getBlockTypes($fieldDefinition, $field)); $field->settings = $settingsModel; }
/** * @param array $fieldDefinition * @param FieldModel $field * @param string $fieldHandle * @param FieldGroupModel|null $group */ public function populate(array $fieldDefinition, FieldModel $field, $fieldHandle, FieldGroupModel $group = null) { parent::populate($fieldDefinition, $field, $fieldHandle, $group); $options = []; $settings = $fieldDefinition['settings']; foreach ($settings['options'] as $option) { $options[$option] = $option; } $settings['options'] = $options; $field->settings = $settings; }
/** * @param array $fieldDefinition * @param FieldModel $field * @param string $fieldHandle * @param FieldGroupModel|null $group */ public function populate(array $fieldDefinition, FieldModel $field, $fieldHandle, FieldGroupModel $group = null) { parent::populate($fieldDefinition, $field, $fieldHandle, $group); $settings = $fieldDefinition['settings']; $defaultUploadLocationSourceId = $settings['defaultUploadLocationSource']; $defaultUploadLocationSource = Craft::app()->schematic_assetSources->getSourceTypeByHandle($defaultUploadLocationSourceId); $settings['defaultUploadLocationSource'] = $defaultUploadLocationSource ? $defaultUploadLocationSource->id : ''; $singleUploadLocationSourceId = $settings['singleUploadLocationSource']; $singleUploadLocationSource = Craft::app()->schematic_assetSources->getSourceTypeByHandle($singleUploadLocationSourceId); $settings['singleUploadLocationSource'] = $singleUploadLocationSource ? $singleUploadLocationSource->id : ''; $field->settings = $settings; }