You are here

function flexslider_field_collection_field_formatter_settings_form in FlexSlider Field Collection 7

Implements hook_field_formatter_settings_form().

File

./flexslider_field_collection.module, line 27
Provides a Flex Slider formatter for Field Collection fields.

Code

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

  // Creates a select list for the Flex Slider option set.
  $optionsets = array();
  ctools_include('export');
  foreach (flexslider_optionset_load_all() as $name => $optionset) {
    $optionsets[$name] = $optionset->title;
  }
  $form['optionset'] = array(
    '#title' => t('Option set'),
    '#type' => 'select',
    '#options' => $optionsets,
    '#default_value' => $settings['optionset'],
  );

  // Creates a select list for the slide view modes.
  $entity_info = entity_get_info('field_collection_item');
  $options = array();
  if (!empty($entity_info['view modes'])) {
    foreach ($entity_info['view modes'] as $view_mode => $view_mode_settings) {
      $options[$view_mode] = $view_mode_settings['label'];
    }
  }
  if (count($options) > 1) {
    $form['view_mode'] = array(
      '#type' => 'select',
      '#options' => $options,
      '#title' => t('Slide view mode'),
      '#default_value' => $settings['view_mode'],
    );
  }
  return $form;
}