You are here

function readmore_field_formatter_settings_form in Readmore 7

Implements hook_field_formatter_settings_form().

File

./readmore.field.inc, line 36
Field formatter hooks to implement a readmore.

Code

function readmore_field_formatter_settings_form($field, $instance, $view_mode, $form, &$form_state) {
  $display = $instance['display'][$view_mode];
  $settings = $display['settings'];
  $element = array();
  if ($display['type'] == 'readmore') {
    $element['readmore_trim_length'] = array(
      '#title' => t('Trim length'),
      '#type' => 'textfield',
      '#size' => 10,
      '#default_value' => $settings['readmore_trim_length'],
      '#element_validate' => array(
        'element_validate_integer_positive',
      ),
      '#required' => TRUE,
    );
    $element['readmore_more_text'] = array(
      '#title' => t('Text for more link'),
      '#type' => 'textfield',
      '#size' => 20,
      '#default_value' => $settings['readmore_more_text'],
      '#required' => TRUE,
    );
    $element['readmore_less_text'] = array(
      '#title' => t('Text for less link'),
      '#type' => 'textfield',
      '#size' => 20,
      '#default_value' => $settings['readmore_less_text'],
      '#required' => TRUE,
    );
    $element['readmore_trim_on_break'] = array(
      '#type' => 'checkbox',
      '#title' => t('Trim on @break', array(
        '@break' => '<!--break-->',
      )),
      '#description' => t('If @break not found in the text then trim length used.', array(
        '@break' => '<!--break-->',
      )),
      '#default_value' => $settings['readmore_trim_on_break'],
    );
    $element['readmore_show_readless'] = array(
      '#type' => 'checkbox',
      '#title' => t('Show read less'),
      '#default_value' => $settings['readmore_show_readless'],
    );
    $element['readmore_ellipsis'] = array(
      '#type' => 'checkbox',
      '#title' => t('Add ellipsis'),
      '#default_value' => $settings['readmore_ellipsis'],
    );
    $element['readmore_wordsafe'] = array(
      '#type' => 'checkbox',
      '#title' => t('Truncate on a word boundary'),
      '#default_value' => $settings['readmore_wordsafe'],
    );
  }
  return $element;
}