You are here

function semanticviews_plugin_row_fields::options_form in Semantic Views 6

Same name and namespace in other branches
  1. 7 semanticviews_plugin_row_fields.inc \semanticviews_plugin_row_fields::options_form()

Provide a form for setting options.

File

./semanticviews_plugin_row_fields.inc, line 29
Contains the semantic row style plugin.

Class

semanticviews_plugin_row_fields
The semantic 'fields' row plugin

Code

function options_form(&$form, &$form_state) {
  parent::options_form($form, $form_state);
  $form['semantic_html'] = array(
    '#tree' => TRUE,
  );
  foreach ($this->display->handler
    ->get_handlers('field') as $field => $handler) {
    if (!$handler->options['exclude']) {
      $default_value = isset($this->options['semantic_html'][$field]) && is_array($this->options['semantic_html'][$field]) ? $this->options['semantic_html'][$field] : array(
        'element_type' => 'div',
        'class' => '',
        'label_element_type' => 'label',
        'label_class' => '',
      );
      $form['semantic_html'][$field] = array(
        '#title' => $handler
          ->label() ? $handler
          ->label() : $handler
          ->ui_name(),
        '#type' => 'fieldset',
        '#attributes' => array(
          'class' => 'clear-block',
        ),
      );
      $form['semantic_html'][$field]['element_type'] = array(
        '#prefix' => '<div class="views-left-30">',
        '#suffix' => '</div>',
        '#title' => 'Element',
        '#type' => 'textfield',
        '#size' => '10',
        '#default_value' => $default_value['element_type'],
      );
      $form['semantic_html'][$field]['class'] = array(
        '#prefix' => '<div class="views-right-70">',
        '#suffix' => '</div>',
        '#title' => 'Class attribute',
        '#type' => 'textfield',
        '#size' => '30',
        '#default_value' => $default_value['class'],
      );
      if ($handler
        ->label()) {
        $form['semantic_html'][$field]['label_element_type'] = array(
          '#prefix' => '<div class="views-left-30">',
          '#suffix' => '</div>',
          '#title' => 'Label element',
          '#type' => 'textfield',
          '#size' => '10',
          '#default_value' => $default_value['label_element_type'],
        );
        $form['semantic_html'][$field]['label_class'] = array(
          '#prefix' => '<div class="views-right-70">',
          '#suffix' => '</div>',
          '#title' => 'Label class attribute',
          '#type' => 'textfield',
          '#size' => '30',
          '#default_value' => $default_value['label_class'],
        );
      }
    }
  }
  $form['skip_blank'] = array(
    '#type' => 'checkbox',
    '#default_value' => $this->options['skip_blank'],
    '#title' => t('Skip empty fields'),
    '#description' => t('Do not output anything when a field has no content. This has the same outcome as enabling the <em>Hide if empty</em> option for every field in this display.'),
  );
}