You are here

function flexslider_fields_field_formatter_settings_form in Flex Slider 7.2

Same name and namespace in other branches
  1. 7 flexslider_fields/flexslider_fields.module \flexslider_fields_field_formatter_settings_form()

Implements hook_field_formatter_settings_form().

Provides display settings form within the manage display page of an image field with formatter flexslider.

File

flexslider_fields/flexslider_fields.module, line 51
Adds fields integration with FlexSlider

Code

function flexslider_fields_field_formatter_settings_form($field, $instance, $view_mode, $form, &$form_state) {
  $display = $instance['display'][$view_mode];
  $settings = $display['settings'];
  $form = array();

  // Show select box for the option set
  $optionsets = array();
  ctools_include('export');
  foreach (flexslider_optionset_load_all() as $name => $optionset) {
    $optionsets[$name] = check_plain($optionset->title);
  }
  $form['optionset'] = array(
    '#title' => t('Option set'),
    '#type' => 'select',
    '#options' => $optionsets,
    '#default_value' => $settings['optionset'],
  );
  if ($display['type'] == 'flexslider') {
    $image_styles = image_style_options(FALSE, PASS_THROUGH);
    $form['image_style'] = array(
      '#title' => t('Image style'),
      '#type' => 'select',
      '#default_value' => $settings['image_style'],
      '#empty_option' => t('None (original image)'),
      '#options' => $image_styles,
    );
  }
  elseif ($display['type'] == 'flexslider_file_entity') {
    $form['file_view_mode'] = array(
      '#title' => t('File view mode'),
      '#type' => 'select',
      '#default_value' => $settings['file_view_mode'],
      '#options' => file_entity_view_mode_labels(),
    );
  }
  if (!empty($instance['settings'])) {

    // If the image field doesn't have the Title field enabled, tell the user.
    if ($instance['settings']['title_field'] == FALSE and $instance['bundle'] != 'ctools') {
      $form['caption'] = array(
        '#title' => t('Choose a caption source'),
        '#type' => 'select',
        '#disabled' => TRUE,
        '#options' => array(
          0 => t('None'),
          1 => t('Image title'),
          'alt' => t('Image ALT attribute'),
        ),
        '#description' => t('You need to <a href="@url">enable the Title field</a> for this image field to be able use it as a caption.', array(
          '@url' => url('admin/structure/types/manage/' . $instance['bundle'] . '/fields/' . $instance['field_name'], array(
            'fragment' => 'edit-instance-settings-title-field',
            'query' => array(
              'destination' => 'admin/structure/types/manage/' . $instance['bundle'] . '/display',
            ),
          )),
        )),
      );
    }
    else {
      $form['caption'] = array(
        '#title' => t('Choose a caption source'),
        '#type' => 'select',
        '#options' => array(
          0 => t('None'),
          1 => t('Image title'),
          'alt' => t('Image ALT attribute'),
        ),
        '#default_value' => $settings['caption'],
      );
    }
  }
  return $form;
}