/** * @param array $handlerNames * @return HandlerInterface[] */ public function process(array $handlerNames) { $handlerObjects = []; foreach ($handlerNames as $name => $className) { $handlerObjects[$name] = $this->handlerPool->get($className); } return $handlerObjects; }
/** * Prepare configuration data * * @return void */ protected function prepareFields() { foreach ($this->data['fieldsets'] as $fieldsetName => $fieldset) { $this->data['fieldsets'][$fieldsetName]['source'] = $this->collectionFactory->create(); if (isset($fieldset['provider'])) { $fieldsetObject = $this->fieldsetPool->get($fieldset['provider']); $this->data['fieldsets'][$fieldsetName] = $fieldsetObject->addDynamicData($this->data['fieldsets'][$fieldsetName]); } foreach ($this->data['fieldsets'][$fieldsetName]['fields'] as $fieldName => $field) { $this->data['fieldsets'][$fieldsetName]['fields'][$fieldName]['origin'] = $this->data['fieldsets'][$fieldsetName]['fields'][$fieldName]['origin'] ?: $this->data['fieldsets'][$fieldsetName]['fields'][$fieldName]['name']; if ($fieldsetName != 0) { $this->data['fieldsets'][$fieldsetName]['fields'][$fieldName]['name'] = $this->data['fieldsets'][$fieldsetName]['name'] . '_' . $this->data['fieldsets'][$fieldsetName]['fields'][$fieldName]['name']; } $this->saveFieldByType($field); $this->data['fieldsets'][$fieldsetName]['fields'][$fieldName]['handler'] = $this->handlerPool->get($field['handler']); $this->data['fieldsets'][$fieldsetName]['fields'][$fieldName]['dataType'] = isset($field['dataType']) ? $field['dataType'] : 'varchar'; } } }