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.
This 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'.
The $view->disabled boolean flag indicates whether the View should be enabled or disabled by default.
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.
contributions/views/docs/docs.php, line 275
<?php
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->view_php = '';
$view->base_table = 'node';
$view->is_cacheable = '0';
$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;
}
?>