public function ConfigSingleImportForm::buildForm in Zircon Profile 8.0
Same name and namespace in other branches
- 8 core/modules/config/src/Form/ConfigSingleImportForm.php \Drupal\config\Form\ConfigSingleImportForm::buildForm()
Form constructor.
Parameters
array $form: An associative array containing the structure of the form.
\Drupal\Core\Form\FormStateInterface $form_state: The current state of the form.
Return value
array The form structure.
Overrides ConfirmFormBase::buildForm
File
- core/
modules/ config/ src/ Form/ ConfigSingleImportForm.php, line 220 - Contains \Drupal\config\Form\ConfigSingleImportForm.
Class
- ConfigSingleImportForm
- Provides a form for importing a single configuration file.
Namespace
Drupal\config\FormCode
public function buildForm(array $form, FormStateInterface $form_state) {
// When this is the confirmation step fall through to the confirmation form.
if ($this->data) {
return parent::buildForm($form, $form_state);
}
$entity_types = array();
foreach ($this->entityManager
->getDefinitions() as $entity_type => $definition) {
if ($definition
->isSubclassOf('Drupal\\Core\\Config\\Entity\\ConfigEntityInterface')) {
$entity_types[$entity_type] = $definition
->getLabel();
}
}
// Sort the entity types by label, then add the simple config to the top.
uasort($entity_types, 'strnatcasecmp');
$config_types = array(
'system.simple' => $this
->t('Simple configuration'),
) + $entity_types;
$form['config_type'] = array(
'#title' => $this
->t('Configuration type'),
'#type' => 'select',
'#options' => $config_types,
'#required' => TRUE,
);
$form['config_name'] = array(
'#title' => $this
->t('Configuration name'),
'#description' => $this
->t('Enter the name of the configuration file without the <em>.yml</em> extension. (e.g. <em>system.site</em>)'),
'#type' => 'textfield',
'#states' => array(
'required' => array(
':input[name="config_type"]' => array(
'value' => 'system.simple',
),
),
'visible' => array(
':input[name="config_type"]' => array(
'value' => 'system.simple',
),
),
),
);
$form['import'] = array(
'#title' => $this
->t('Paste your configuration here'),
'#type' => 'textarea',
'#rows' => 24,
'#required' => TRUE,
);
$form['advanced'] = array(
'#type' => 'details',
'#title' => $this
->t('Advanced'),
);
$form['advanced']['custom_entity_id'] = array(
'#title' => $this
->t('Custom Entity ID'),
'#type' => 'textfield',
'#description' => $this
->t('Specify a custom entity ID. This will override the entity ID in the configuration above.'),
);
$form['actions'] = array(
'#type' => 'actions',
);
$form['actions']['submit'] = array(
'#type' => 'submit',
'#value' => $this
->t('Import'),
'#button_type' => 'primary',
);
return $form;
}