function hook_views_default_views
Same name in other branches
- 7.x-3.x views.api.php \hook_views_default_views()
This hook allows modules to provide their own views which can either be used as-is or as a "starter" for users to build from.
The hook should be placed in MODULENAME.views_default.inc and it will be auto-loaded. This must either be in the same directory as the .module file or in a subdirectory named 'includes'.
This hook requires an array of views, where each array has key/value pair and must have $value == $view->name, it is invalid if the keys not match.
The $view->disabled boolean flag indicates whether the View should be enabled or disabled by default.
Return value
An associative array containing the structures of views, as generated from the Export tab, keyed by the view name. A best practice is to go through and add t() to all title and label strings, with the exception of menu strings.
Related topics
5 functions implement hook_views_default_views()
Note: this list is generated by pattern matching, so it may include some functions that are not actually implementations of this hook.
- comment_views_default_views in modules/
comment.views_default.inc - Implementation of hook_views_default_views().
- node_views_default_views in modules/
node.views_default.inc - Implementation of hook_views_default_views().
- search_views_default_views in modules/
search.views_default.inc - Implementation of hook_views_default_views().
- statistics_views_default_views in modules/
statistics.views_default.inc - Implementation of hook_views_default_views().
- taxonomy_views_default_views in modules/
taxonomy.views_default.inc - Implementation of hook_views_default_views().
1 invocation of hook_views_default_views()
- _views_discover_default_views in includes/
cache.inc - Scan all modules for default views and rebuild the default views cache.
File
-
docs/
docs.php, line 315
Code
function hook_views_default_views() {
// Begin copy and paste of output from the Export tab of a view.
$view = new view();
$view->name = 'frontpage';
$view->description = t('Emulates the default Drupal front page; you may set the default home page path to this view to make it your front page.');
$view->tag = t('default');
$view->base_table = 'node';
$view->api_version = 2;
$view->disabled = FALSE;
// Edit this to true to make a default view disabled initially
$view->display = array();
$display = new views_display();
$display->id = 'default';
$display->display_title = t('Defaults');
$display->display_plugin = 'default';
$display->position = '1';
$display->display_options = array(
'style_plugin' => 'default',
'style_options' => array(),
'row_plugin' => 'node',
'row_options' => array(
'teaser' => 1,
'links' => 1,
),
'relationships' => array(),
'fields' => array(),
'sorts' => array(
'sticky' => array(
'id' => 'sticky',
'table' => 'node',
'field' => 'sticky',
'order' => 'ASC',
),
'created' => array(
'id' => 'created',
'table' => 'node',
'field' => 'created',
'order' => 'ASC',
'relationship' => 'none',
'granularity' => 'second',
),
),
'arguments' => array(),
'filters' => array(
'promote' => array(
'id' => 'promote',
'table' => 'node',
'field' => 'promote',
'operator' => '=',
'value' => '1',
'group' => 0,
'exposed' => false,
'expose' => array(
'operator' => false,
'label' => '',
),
),
'status' => array(
'id' => 'status',
'table' => 'node',
'field' => 'status',
'operator' => '=',
'value' => '1',
'group' => 0,
'exposed' => false,
'expose' => array(
'operator' => false,
'label' => '',
),
),
),
'items_per_page' => 10,
'use_pager' => '1',
'pager_element' => 0,
'title' => '',
'header' => '',
'header_format' => '1',
'footer' => '',
'footer_format' => '1',
'empty' => '',
'empty_format' => '1',
);
$view->display['default'] = $display;
$display = new views_display();
$display->id = 'page';
$display->display_title = t('Page');
$display->display_plugin = 'page';
$display->position = '2';
$display->display_options = array(
'defaults' => array(
'access' => true,
'title' => true,
'header' => true,
'header_format' => true,
'header_empty' => true,
'footer' => true,
'footer_format' => true,
'footer_empty' => true,
'empty' => true,
'empty_format' => true,
'items_per_page' => true,
'offset' => true,
'use_pager' => true,
'pager_element' => true,
'link_display' => true,
'php_arg_code' => true,
'exposed_options' => true,
'style_plugin' => true,
'style_options' => true,
'row_plugin' => true,
'row_options' => true,
'relationships' => true,
'fields' => true,
'sorts' => true,
'arguments' => true,
'filters' => true,
'use_ajax' => true,
'distinct' => true,
),
'relationships' => array(),
'fields' => array(),
'sorts' => array(),
'arguments' => array(),
'filters' => array(),
'path' => 'frontpage',
);
$view->display['page'] = $display;
$display = new views_display();
$display->id = 'feed';
$display->display_title = t('Feed');
$display->display_plugin = 'feed';
$display->position = '3';
$display->display_options = array(
'defaults' => array(
'access' => true,
'title' => false,
'header' => true,
'header_format' => true,
'header_empty' => true,
'footer' => true,
'footer_format' => true,
'footer_empty' => true,
'empty' => true,
'empty_format' => true,
'use_ajax' => true,
'items_per_page' => true,
'offset' => true,
'use_pager' => true,
'pager_element' => true,
'use_more' => true,
'distinct' => true,
'link_display' => true,
'php_arg_code' => true,
'exposed_options' => true,
'style_plugin' => false,
'style_options' => false,
'row_plugin' => false,
'row_options' => false,
'relationships' => true,
'fields' => true,
'sorts' => true,
'arguments' => true,
'filters' => true,
),
'relationships' => array(),
'fields' => array(),
'sorts' => array(),
'arguments' => array(),
'filters' => array(),
'displays' => array(
'default' => 'default',
'page' => 'page',
),
'style_plugin' => 'rss',
'style_options' => array(
'mission_description' => 1,
'description' => '',
),
'row_plugin' => 'node_rss',
'row_options' => array(
'item_length' => 'default',
),
'path' => 'rss.xml',
'title' => t('Front page feed'),
);
$view->display['feed'] = $display;
// End copy and paste of Export tab output.
// Add view to list of views to provide.
$views[$view->name] = $view;
// ...Repeat all of the above for each view the module should provide.
// At the end, return array of default views.
return $views;
}