/** * Overrides Drupal\Core\Entity\EntityFormController::form(). */ public function form(array $form, array &$form_state, EntityInterface $font) { $provider = fontyourface_provider_load($font->bundle()); $form_state['fontyourface']['provider'] = $provider; // Add any form fields that don't map to entity fields here. /* $form['name'] = array( '#type' => 'textfield', '#title' => t('Name'), '#default_value' => $term->name, '#maxlength' => 255, '#required' => TRUE, '#weight' => -5, ); $form['description'] = array( '#type' => 'text_format', '#title' => t('Description'), '#default_value' => $term->description, '#format' => $term->format, '#weight' => 0, ); $language_configuration = module_invoke('language', 'get_default_configuration', 'taxonomy_term', $vocabulary->id()); $form['langcode'] = array( '#type' => 'language_select', '#title' => t('Language'), '#languages' => LANGUAGE_ALL, '#default_value' => $term->langcode, '#access' => !is_null($language_configuration['language_show']) && $language_configuration['language_show'], ); $form['relations'] = array( '#type' => 'details', '#title' => t('Relations'), '#collapsed' => ($vocabulary->hierarchy != TAXONOMY_HIERARCHY_MULTIPLE), '#weight' => 10, ); */ $form['pid'] = array('#type' => 'value', '#value' => $provider->id()); $form['fid'] = array('#type' => 'value', '#value' => $font->fid); if (empty($font->fid)) { $form_state['redirect'] = current_path(); } // if return parent::form($form, $form_state, $font); }
/** * {@inheritdoc} */ public function form(array $form, array &$form_state) { $form['#tree'] = TRUE; $form['#attached']['css'][] = drupal_get_path('module', 'feeds') . '/feeds.css'; if ($this->operation == 'edit') { $form['#title'] = $this->t('Edit %label', array('%label' => $this->entity->label())); } $form['basics'] = array('#title' => $this->t('Basic settings'), '#type' => 'details', '#tree' => FALSE, '#collapsed' => !$this->entity->isNew()); $form['basics']['label'] = array('#type' => 'textfield', '#title' => $this->t('Label'), '#default_value' => $this->entity->label(), '#maxlength' => '255', '#description' => $this->t('A unique label for this importer. This label will be displayed in the interface.')); $form['basics']['id'] = array('#type' => 'machine_name', '#title' => $this->t('Machine name'), '#default_value' => $this->entity->id(), '#disabled' => !$this->entity->isNew(), '#maxlength' => 64, '#description' => $this->t('A unique name for this importer. It must only contain lowercase letters, numbers and underscores.'), '#machine_name' => array('exists' => array($this, 'exists'), 'source' => array('basics', 'label'))); $form['basics']['description'] = array('#type' => 'textfield', '#title' => $this->t('Description'), '#description' => $this->t('A description of this importer.'), '#default_value' => $this->entity->description); $form['plugin_settings'] = array('#type' => 'vertical_tabs', '#weight' => 99); $form['plugin_settings']['#prefix'] = '<div id="feeds-ajax-form-wrapper" class="theme-settings-bottom">'; $form['plugin_settings']['#suffix'] = '</div>'; // If this is an ajax requst, updating the plugins on the importer will give // us the updated form. if (isset($form_state['values'])) { if ($form_state['values']['processor']['id'] != $this->entity->getProcessor()->getPluginId()) { $this->entity->removeMappings(); } foreach ($this->entity->getPluginTypes() as $type) { $this->entity->setPlugin($type, $form_state['values'][$type]['id']); } } foreach ($this->entity->getPlugins() as $type => $plugin) { $options = $this->entity->getPluginOptionsList($type); $form[$type] = array('#type' => 'container', '#attributes' => array('class' => array('feeds-plugin-inline'))); if (count($options) === 1) { $form[$type]['id'] = array('#type' => 'value', '#value' => $plugin->getPluginId(), '#plugin_type' => $type); } else { $form[$type]['id'] = array('#type' => 'select', '#title' => $this->t('@type', array('@type' => ucfirst($type))), '#options' => $options, '#default_value' => $plugin->getPluginId(), '#ajax' => array('callback' => array($this, 'ajaxCallback'), 'wrapper' => 'feeds-ajax-form-wrapper', 'effect' => 'none', 'progress' => 'none'), '#attached' => array('library' => array(array('feeds', 'feeds'))), '#plugin_type' => $type); } // Give lockable plugins a chance to lock themselves. // @see \Drupal\feeds\Feeds\Processor\EntityProcessor::isLocked() if ($plugin instanceof LockableInterface) { $form[$type]['id']['#disabled'] = $plugin->isLocked(); } // This is the small form that appears under the select box. if ($plugin instanceof AdvancedFormPluginInterface) { $form[$type]['advanced'] = $plugin->buildAdvancedForm(array(), $form_state); } $form[$type]['advanced']['#prefix'] = '<div id="feeds-plugin-' . $type . '-advanced">'; $form[$type]['advanced']['#suffix'] = '</div>'; if ($plugin instanceof PluginFormInterface) { if ($plugin_form = $plugin->buildConfigurationForm(array(), $form_state)) { $form[$type . '_configuration'] = array('#type' => 'details', '#group' => 'plugin_settings', '#title' => $this->t('@type settings', array('@type' => ucfirst($type))), '#parents' => array($type, 'configuration')); // $form[$type . '_configuration']['#prefix'] = '<span id="feeds-' . $type . '-details">'; // $form[$type . '_configuration']['#suffix'] = '</span>'; $form[$type . '_configuration'] += $plugin_form; } } } return parent::form($form, $form_state); }