1 views_plugin_display.inc views_plugin_display::defaultable_sections($section = NULL)

Static member function to list which sections are defaultable and what items each section contains.

File

core/modules/views/plugins/views_plugin_display.inc, line 403
Contains the base display plugin.

Class

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

Code

function defaultable_sections($section = NULL) {
  $sections = array(
    'access' => array('access', 'access_options'),
    'access_options' => array('access', 'access_options'),
    'cache' => array('cache', 'cache_options'),
    'cache_options' => array('cache', 'cache_options'),
    'title' => array('title'),
    'css_class' => array('css_class'),
    'use_ajax' => array('use_ajax'),
    'hide_attachment_summary' => array('hide_attachment_summary'),
    'hide_admin_links' => array('hide_admin_links'),
    'group_by' => array('group_by'),
    'query' => array('query'),
    'use_more' => array('use_more', 'use_more_always', 'use_more_text'),
    'use_more_always' => array('use_more', 'use_more_always', 'use_more_text'),
    'use_more_text' => array('use_more', 'use_more_always', 'use_more_text'),
    'link_display' => array('link_display', 'link_url'),

    // Force these to cascade properly.
    'style_plugin' => array('style_plugin', 'style_options', 'row_plugin', 'row_options'),
    'style_options' => array('style_plugin', 'style_options', 'row_plugin', 'row_options'),
    'row_plugin' => array('style_plugin', 'style_options', 'row_plugin', 'row_options'),
    'row_options' => array('style_plugin', 'style_options', 'row_plugin', 'row_options'),

    'pager' => array('pager', 'pager_options'),
    'pager_options' => array('pager', 'pager_options'),

    'exposed_form' => array('exposed_form', 'exposed_form_options'),
    'exposed_form_options' => array('exposed_form', 'exposed_form_options'),

    // These guys are special
    'header' => array('header'),
    'footer' => array('footer'),
    'empty' => array('empty'),
    'relationships' => array('relationships'),
    'fields' => array('fields'),
    'sorts' => array('sorts'),
    'arguments' => array('arguments'),
    'filters' => array('filters', 'filter_groups'),
    'filter_groups' => array('filters', 'filter_groups'),
  );

  // If the display cannot use a pager, then we cannot default it.
  if (empty($this->definition['use pager'])) {
    unset($sections['pager']);
    unset($sections['items_per_page']);
  }

  foreach ($this->extender as $extender) {
    $extender->defaultable_sections($sections, $section);
  }

  if ($section) {
    if (!empty($sections[$section])) {
      return $sections[$section];
    }
  }
  else {
    return $sections;
  }
}