示例#1
0
 /**
  * {@inheritdoc}
  */
 public function instanceSettingsForm(array $form, FormStateInterface $form_state)
 {
     // Get base form from FileItem::instanceSettingsForm().
     $element = parent::instanceSettingsForm($form, $form_state);
     $settings = $this->getSettings();
     // Add maximum and minimum resolution settings.
     $max_resolution = explode('x', $settings['max_resolution']) + array('', '');
     $element['max_resolution'] = array('#type' => 'item', '#title' => t('Maximum image resolution'), '#element_validate' => array(array(get_class($this), 'validateResolution')), '#weight' => 4.1, '#field_prefix' => '<div class="container-inline">', '#field_suffix' => '</div>', '#description' => t('The maximum allowed image size expressed as WIDTHxHEIGHT (e.g. 640x480). Leave blank for no restriction. If a larger image is uploaded, it will be resized to reflect the given width and height. Resizing images on upload will cause the loss of <a href="@url">EXIF data</a> in the image.', array('@url' => 'http://en.wikipedia.org/wiki/Exchangeable_image_file_format')));
     $element['max_resolution']['x'] = array('#type' => 'number', '#title' => t('Maximum width'), '#title_display' => 'invisible', '#default_value' => $max_resolution[0], '#min' => 1, '#field_suffix' => ' x ');
     $element['max_resolution']['y'] = array('#type' => 'number', '#title' => t('Maximum height'), '#title_display' => 'invisible', '#default_value' => $max_resolution[1], '#min' => 1, '#field_suffix' => ' ' . t('pixels'));
     $min_resolution = explode('x', $settings['min_resolution']) + array('', '');
     $element['min_resolution'] = array('#type' => 'item', '#title' => t('Minimum image resolution'), '#element_validate' => array(array(get_class($this), 'validateResolution')), '#weight' => 4.2, '#field_prefix' => '<div class="container-inline">', '#field_suffix' => '</div>', '#description' => t('The minimum allowed image size expressed as WIDTHxHEIGHT (e.g. 640x480). Leave blank for no restriction. If a smaller image is uploaded, it will be rejected.'));
     $element['min_resolution']['x'] = array('#type' => 'number', '#title' => t('Minimum width'), '#title_display' => 'invisible', '#default_value' => $min_resolution[0], '#min' => 1, '#field_suffix' => ' x ');
     $element['min_resolution']['y'] = array('#type' => 'number', '#title' => t('Minimum height'), '#title_display' => 'invisible', '#default_value' => $min_resolution[1], '#min' => 1, '#field_suffix' => ' ' . t('pixels'));
     // Remove the description option.
     unset($element['description_field']);
     // Add title and alt configuration options.
     $element['alt_field'] = array('#type' => 'checkbox', '#title' => t('Enable <em>Alt</em> field'), '#default_value' => $settings['alt_field'], '#description' => t('The alt attribute may be used by search engines, screen readers, and when the image cannot be loaded.'), '#weight' => 9);
     $element['alt_field_required'] = array('#type' => 'checkbox', '#title' => t('<em>Alt</em> field required'), '#default_value' => $settings['alt_field_required'], '#weight' => 10, '#states' => array('visible' => array(':input[name="instance[settings][alt_field]"]' => array('checked' => TRUE))));
     $element['title_field'] = array('#type' => 'checkbox', '#title' => t('Enable <em>Title</em> field'), '#default_value' => $settings['title_field'], '#description' => t('The title attribute is used as a tooltip when the mouse hovers over the image.'), '#weight' => 11);
     $element['title_field_required'] = array('#type' => 'checkbox', '#title' => t('<em>Title</em> field required'), '#default_value' => $settings['title_field_required'], '#weight' => 12, '#states' => array('visible' => array(':input[name="instance[settings][title_field]"]' => array('checked' => TRUE))));
     // Add default_image element.
     static::defaultImageForm($element, $settings);
     $element['default_image']['#description'] = t("If no image is uploaded, this image will be shown on display and will override the field's default image.");
     return $element;
 }