I have created a block to show events, which have a field for the date and time of the event. I have specified the date as a sort field, but it seems to be ignored (using the node_vid for some strange reason).
Here's the query it displays:
SELECT node.nid AS nid,
node.title AS node_title,
node.type AS node_type,
node.vid AS node_vid
FROM node node
LEFT JOIN content_field_event_date node_data_field_event_date ON node.vid = node_data_field_event_date.vid
LEFT JOIN content_type_event node_data_field_show_in_block ON node.vid = node_data_field_show_in_block.vid AND node_data_field_show_in_block.field_show_in_block_value = '0'
WHERE ((node.status <> 0) AND (node.type in ('event')) AND (node_data_field_show_in_block.field_show_in_block_value IS NULL))
AND (DATE_FORMAT(ADDTIME(node_data_field_event_date.field_event_date_value, SEC_TO_TIME(-18000)), '%Y-%m-%d') >= '2009-12-24')
ORDER BY node_vid ASC
And here is the view:
$view = new view;
$view->name = 'Upcoming_Events';
$view->description = 'Upcoming Events';
$view->tag = '';
$view->view_php = '';
$view->base_table = 'node';
$view->is_cacheable = FALSE;
$view->api_version = 2;
$view->disabled = FALSE; /* Edit this to true to make a default view disabled initially */
$handler = $view->new_display('default', 'Defaults', 'default');
$handler->override_option('fields', array(
'title' => array(
'label' => '',
'alter' => array(
'alter_text' => 0,
'text' => '',
'make_link' => 0,
'path' => '',
'link_class' => '',
'alt' => '',
'prefix' => '',
'suffix' => '',
'target' => '',
'help' => '',
'trim' => 0,
'max_length' => '',
'word_boundary' => 1,
'ellipsis' => 1,
'strip_tags' => 0,
'html' => 0,
),
'empty' => '',
'hide_empty' => 0,
'empty_zero' => 0,
'link_to_node' => 1,
'exclude' => 0,
'id' => 'title',
'table' => 'node',
'field' => 'title',
'relationship' => 'none',
),
'field_event_date_value' => array(
'label' => '',
'alter' => array(
'alter_text' => 0,
'text' => '',
'make_link' => 0,
'path' => '',
'link_class' => '',
'alt' => '',
'prefix' => '',
'suffix' => '',
'target' => '',
'help' => '',
'trim' => 0,
'max_length' => '',
'word_boundary' => 1,
'ellipsis' => 1,
'strip_tags' => 0,
'html' => 0,
),
'empty' => '',
'hide_empty' => 0,
'empty_zero' => 0,
'link_to_node' => 0,
'label_type' => 'none',
'format' => 'mon_day',
'multiple' => array(
'multiple_number' => '',
'multiple_from' => '',
'multiple_to' => '',
'group' => TRUE,
),
'repeat' => array(
'show_repeat_rule' => '',
),
'fromto' => array(
'fromto' => 'value',
),
'exclude' => 0,
'id' => 'field_event_date_value',
'table' => 'node_data_field_event_date',
'field' => 'field_event_date_value',
'relationship' => 'none',
'override' => array(
'button' => 'Override',
),
),
));
$handler->override_option('sorts', array(
'field_event_date_value' => array(
'order' => 'ASC',
'delta' => '-1',
'id' => 'field_event_date_value',
'table' => 'node_data_field_event_date',
'field' => 'field_event_date_value',
'override' => array(
'button' => 'Override',
),
'relationship' => 'none',
),
));
$handler->override_option('filters', array(
'status' => array(
'operator' => '=',
'value' => '1',
'group' => '0',
'exposed' => FALSE,
'expose' => array(
'operator' => FALSE,
'label' => '',
),
'id' => 'status',
'table' => 'node',
'field' => 'status',
'override' => array(
'button' => 'Override',
),
'relationship' => 'none',
),
'type' => array(
'operator' => 'in',
'value' => array(
'event' => 'event',
),
'group' => '0',
'exposed' => FALSE,
'expose' => array(
'operator' => FALSE,
'label' => '',
),
'id' => 'type',
'table' => 'node',
'field' => 'type',
'override' => array(
'button' => 'Override',
),
'relationship' => 'none',
),
'date_filter' => array(
'operator' => '>=',
'value' => array(
'value' => NULL,
'min' => NULL,
'max' => NULL,
'default_date' => 'now',
'default_to_date' => '',
),
'group' => '0',
'exposed' => FALSE,
'expose' => array(
'operator' => FALSE,
'label' => '',
),
'date_fields' => array(
'node_data_field_event_date.field_event_date_value' => 'node_data_field_event_date.field_event_date_value',
),
'date_method' => 'OR',
'granularity' => 'day',
'form_type' => 'date_select',
'default_date' => 'now',
'default_to_date' => '',
'year_range' => '-3:+3',
'id' => 'date_filter',
'table' => 'node',
'field' => 'date_filter',
'override' => array(
'button' => 'Override',
),
'relationship' => 'none',
),
'field_show_in_block_value_many_to_one' => array(
'operator' => 'not',
'value' => array(
'0' => '0',
),
'group' => '0',
'exposed' => FALSE,
'expose' => array(
'operator' => FALSE,
'label' => '',
),
'id' => 'field_show_in_block_value_many_to_one',
'table' => 'node_data_field_show_in_block',
'field' => 'field_show_in_block_value_many_to_one',
'override' => array(
'button' => 'Override',
),
'relationship' => 'none',
'reduce_duplicates' => 0,
),
));
$handler->override_option('access', array(
'type' => 'none',
));
$handler->override_option('cache', array(
'type' => 'none',
));
$handler->override_option('title', 'Coming Up');
$handler->override_option('items_per_page', 5);
$handler->override_option('use_more', 1);
$handler->override_option('use_more_always', 0);
$handler->override_option('style_plugin', 'table');
$handler->override_option('style_options', array(
'grouping' => '',
'override' => 1,
'sticky' => 0,
'order' => 'asc',
'columns' => array(
'title' => 'title',
'field_event_date_value' => 'field_event_date_value',
'field_event_date_value2' => 'field_event_date_value2',
),
'info' => array(
'title' => array(
'sortable' => 0,
'separator' => '',
),
'field_event_date_value' => array(
'sortable' => 0,
'separator' => '',
),
'field_event_date_value2' => array(
'sortable' => 0,
'separator' => ' - ',
),
),
'default' => 'field_event_date_value',
));
$handler->override_option('row_options', array(
'inline' => array(),
'separator' => '',
'hide_empty' => 1,
));
$handler = $view->new_display('block', 'Block', 'block_1');
$handler->override_option('block_description', '');
$handler->override_option('block_caching', -1);
I have attached a picture of the view display.
| Comment | File | Size | Author |
|---|---|---|---|
| view_sort_problem.jpg | 63.24 KB | nancydru |
Comments
Comment #1
merlinofchaos commentedYour style has a default sort order and is set to override sorts if a tablesort is used.
Comment #2
nancydruThanks. I guess that was a default that I didn't know about.