You are here

public function views_plugin_display::option_definition in Views (for Drupal 7) 7.3

Same name and namespace in other branches
  1. 6.3 plugins/views_plugin_display.inc \views_plugin_display::option_definition()
  2. 6.2 plugins/views_plugin_display.inc \views_plugin_display::option_definition()

Information about options for all kinds of purposes will be held here.

@code 'option_name' => array(

  • 'default' => default value,
  • 'translatable' => (optional) TRUE/FALSE (wrap in t() on export if true),
  • 'contains' => (optional) array of items this contains, with its own defaults, etc. If contains is set, the default will be ignored and assumed to be array().
  • 'bool' => (optional) TRUE/FALSE Is the value a boolean value. This will change the export format to TRUE/FALSE instead of 1/0.
  • 'export' => (optional) FALSE or a callback for special export handling if necessary.
  • 'unpack_translatable' => (optional) callback for special handling for translating data within the option, if necessary.

),

Return value

array Returns the options of this handler/plugin.

Overrides views_object::option_definition

See also

views_object::export_option()

views_object::export_option_always()

views_object::unpack_translatable()

3 calls to views_plugin_display::option_definition()
views_plugin_display_attachment::option_definition in plugins/views_plugin_display_attachment.inc
Information about options for all kinds of purposes will be held here.
views_plugin_display_block::option_definition in plugins/views_plugin_display_block.inc
Information about options for all kinds of purposes will be held here.
views_plugin_display_page::option_definition in plugins/views_plugin_display_page.inc
Information about options for all kinds of purposes will be held here.
3 methods override views_plugin_display::option_definition()
views_plugin_display_attachment::option_definition in plugins/views_plugin_display_attachment.inc
Information about options for all kinds of purposes will be held here.
views_plugin_display_block::option_definition in plugins/views_plugin_display_block.inc
Information about options for all kinds of purposes will be held here.
views_plugin_display_page::option_definition in plugins/views_plugin_display_page.inc
Information about options for all kinds of purposes will be held here.

File

plugins/views_plugin_display.inc, line 537
Definition of views_plugin_display.

Class

views_plugin_display
The default display plugin handler. Display plugins handle options and basic mechanisms for different output methods.

Code

public function option_definition() {
  $options = array(
    'defaults' => array(
      'default' => array(
        'access' => TRUE,
        'cache' => TRUE,
        'query' => TRUE,
        'title' => TRUE,
        'css_class' => TRUE,
        'display_description' => FALSE,
        'use_ajax' => TRUE,
        'hide_attachment_summary' => TRUE,
        'hide_admin_links' => TRUE,
        'pager' => TRUE,
        'pager_options' => TRUE,
        'use_more' => TRUE,
        'use_more_always' => TRUE,
        'open_new_window' => FALSE,
        'use_more_text' => TRUE,
        'exposed_form' => TRUE,
        'exposed_form_options' => TRUE,
        'link_display' => TRUE,
        'link_url' => '',
        'group_by' => TRUE,
        'style_plugin' => TRUE,
        'style_options' => TRUE,
        'row_plugin' => TRUE,
        'row_options' => TRUE,
        'header' => TRUE,
        'footer' => TRUE,
        'empty' => TRUE,
        'relationships' => TRUE,
        'fields' => TRUE,
        'sorts' => TRUE,
        'arguments' => TRUE,
        'filters' => TRUE,
        'filter_groups' => TRUE,
      ),
      'export' => FALSE,
    ),
    'title' => array(
      'default' => '',
      'translatable' => TRUE,
    ),
    'enabled' => array(
      'default' => TRUE,
      'translatable' => FALSE,
      'bool' => TRUE,
    ),
    'display_comment' => array(
      'default' => '',
    ),
    'css_class' => array(
      'default' => '',
      'translatable' => FALSE,
    ),
    'display_description' => array(
      'default' => '',
      'translatable' => TRUE,
    ),
    'use_ajax' => array(
      'default' => FALSE,
      'bool' => TRUE,
    ),
    'hide_attachment_summary' => array(
      'default' => FALSE,
      'bool' => TRUE,
    ),
    'hide_admin_links' => array(
      'default' => FALSE,
      'bool' => TRUE,
    ),
    // This is legacy code.
    // Items_per/offset/use_pager is moved to the pager plugin but the
    // automatic update path needs this items defined, so don't remove it.
    // @see views_plugin_display::init()
    'items_per_page' => array(
      'default' => 10,
    ),
    'offset' => array(
      'default' => 0,
    ),
    'use_pager' => array(
      'default' => FALSE,
      'bool' => TRUE,
    ),
    'use_more' => array(
      'default' => FALSE,
      'bool' => TRUE,
    ),
    'use_more_always' => array(
      'default' => FALSE,
      'bool' => TRUE,
      'export' => 'export_option_always',
    ),
    'use_more_text' => array(
      'default' => 'more',
      'translatable' => TRUE,
    ),
    'link_display' => array(
      'default' => '',
    ),
    'link_url' => array(
      'default' => '',
    ),
    'group_by' => array(
      'default' => FALSE,
      'bool' => TRUE,
    ),
    'field_language' => array(
      'default' => '***CURRENT_LANGUAGE***',
    ),
    'field_language_add_to_query' => array(
      'default' => 1,
    ),
    // These types are all plugins that can have individual settings and
    // therefore need special handling.
    'access' => array(
      'contains' => array(
        'type' => array(
          'default' => 'none',
          'export' => 'export_plugin',
          'unpack_translatable' => 'unpack_plugin',
        ),
      ),
    ),
    'cache' => array(
      'contains' => array(
        'type' => array(
          'default' => 'none',
          'export' => 'export_plugin',
          'unpack_translatable' => 'unpack_plugin',
        ),
      ),
    ),
    'query' => array(
      'contains' => array(
        'type' => array(
          'default' => 'views_query',
          'export' => 'export_plugin',
        ),
        'options' => array(
          'default' => array(),
          'export' => FALSE,
        ),
      ),
    ),
    // Note that exposed_form plugin has options in a separate array, while
    // access and cache do not. access and cache are legacy and that pattern
    // should not be repeated, but it is left as is to reduce the need to
    // modify older views. Let's consider the pattern used here to be the
    // template from which future plugins should be copied.
    'exposed_form' => array(
      'contains' => array(
        'type' => array(
          'default' => 'basic',
          'export' => 'export_plugin',
          'unpack_translatable' => 'unpack_plugin',
        ),
        'options' => array(
          'default' => array(),
          'export' => FALSE,
        ),
      ),
    ),
    'pager' => array(
      'contains' => array(
        'type' => array(
          'default' => 'full',
          'export' => 'export_plugin',
          'unpack_translatable' => 'unpack_plugin',
        ),
        'options' => array(
          'default' => array(),
          'export' => FALSE,
        ),
      ),
    ),
    // Note that the styles have their options completely independent. Like
    // access and cache above, this is a legacy pattern and should not be
    // repeated.
    'style_plugin' => array(
      'default' => 'default',
      'export' => 'export_style',
      'unpack_translatable' => 'unpack_style',
    ),
    'style_options' => array(
      'default' => array(),
      'export' => FALSE,
    ),
    'row_plugin' => array(
      'default' => 'fields',
      'export' => 'export_style',
      'unpack_translatable' => 'unpack_style',
    ),
    'row_options' => array(
      'default' => array(),
      'export' => FALSE,
    ),
    'exposed_block' => array(
      'default' => FALSE,
    ),
    'header' => array(
      'default' => array(),
      'export' => 'export_handler',
      'unpack_translatable' => 'unpack_handler',
    ),
    'footer' => array(
      'default' => array(),
      'export' => 'export_handler',
      'unpack_translatable' => 'unpack_handler',
    ),
    'empty' => array(
      'default' => array(),
      'export' => 'export_handler',
      'unpack_translatable' => 'unpack_handler',
    ),
    // We want these to export last.
    // These are the 5 handler types.
    'relationships' => array(
      'default' => array(),
      'export' => 'export_handler',
      'unpack_translatable' => 'unpack_handler',
    ),
    'fields' => array(
      'default' => array(),
      'export' => 'export_handler',
      'unpack_translatable' => 'unpack_handler',
    ),
    'sorts' => array(
      'default' => array(),
      'export' => 'export_handler',
      'unpack_translatable' => 'unpack_handler',
    ),
    'arguments' => array(
      'default' => array(),
      'export' => 'export_handler',
      'unpack_translatable' => 'unpack_handler',
    ),
    'filter_groups' => array(
      'contains' => array(
        'operator' => array(
          'default' => 'AND',
        ),
        'groups' => array(
          'default' => array(
            1 => 'AND',
          ),
        ),
      ),
    ),
    'filters' => array(
      'default' => array(),
      'export' => 'export_handler',
      'unpack_translatable' => 'unpack_handler',
    ),
  );
  if (empty($this->definition['use pager'])) {
    $options['defaults']['default']['use_pager'] = FALSE;
    $options['defaults']['default']['items_per_page'] = FALSE;
    $options['defaults']['default']['offset'] = FALSE;
    $options['defaults']['default']['pager'] = FALSE;
    $options['pager']['contains']['type']['default'] = 'some';
  }
  if ($this
    ->is_default_display()) {
    unset($options['defaults']);
  }
  foreach ($this->extender as $extender) {
    $extender
      ->options_definition_alter($options);
  }
  return $options;
}