Creating a view with an exposed date filter using AJAX works perfectly -- but switching it to "Exposed form in block" simply displays all records as if the filter were completely ignored. Submitting the exposed form when in a block refreshes the page with the additional fields applied to the URL like so:
http://www.mysite.com/?v[value][month]=5&v[value][day]=12&v[value][year]...
And instead of filtering, all records that match the content type (events) are displayed, regardless of their dates. Again, when using AJAX the same view and exposed filter works great -- but it seems that I can't use AJAX because I need to retrieve the value submitted and calling the $_SESSION variable doesn't work (see http://drupal.org/node/1151910).
Here's my exported view, if that helps:
$view = new view;
$view->name = 'today';
$view->description = 'Displays the daily events in the "Today at the Zoo" block.';
$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(
'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,
'html' => 0,
'strip_tags' => 0,
),
'empty' => '',
'hide_empty' => 0,
'empty_zero' => 0,
'link_to_node' => 1,
'label_type' => 'none',
'format' => 'time_only',
'multiple' => array(
'multiple_number' => '',
'multiple_from' => '',
'multiple_to' => '',
'group' => 0,
),
'repeat' => array(
'show_repeat_rule' => 'hide',
),
'fromto' => array(
'fromto' => 'value',
),
'exclude' => 0,
'id' => 'field_event_date_value',
'table' => 'node_data_field_event_date',
'field' => 'field_event_date_value',
'relationship' => 'none',
),
'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,
'html' => 0,
'strip_tags' => 0,
),
'empty' => '',
'hide_empty' => 0,
'empty_zero' => 0,
'link_to_node' => 1,
'exclude' => 0,
'id' => 'title',
'table' => 'node',
'field' => 'title',
'override' => array(
'button' => 'Override',
),
'relationship' => 'none',
),
));
$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',
'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',
),
'field_event_date_value_1' => array(
'operator' => '=',
'value' => array(
'value' => NULL,
'min' => NULL,
'max' => NULL,
'default_date' => 'now',
'default_to_date' => '11:59pm today',
),
'group' => '0',
'exposed' => TRUE,
'expose' => array(
'use_operator' => 0,
'operator' => 'field_event_date_value_1_op',
'identifier' => 'v',
'label' => '',
'optional' => 1,
'remember' => 1,
),
'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' => '11:59pm today',
'year_range' => '-3:+3',
'id' => 'field_event_date_value_1',
'table' => 'node_data_field_event_date',
'field' => 'field_event_date_value',
'relationship' => 'none',
),
));
$handler->override_option('access', array(
'type' => 'none',
));
$handler->override_option('cache', array(
'type' => 'none',
));
$handler->override_option('header', '<img src="/sites/all/themes/zoo/images/today_at_the_zoo.jpg" alt="Today at the Zoo">');
$handler->override_option('header_format', '2');
$handler->override_option('header_empty', 1);
$handler->override_option('footer_format', '2');
$handler->override_option('footer_empty', 0);
$handler->override_option('empty', 'Currently there are no upcoming events today but check back often!');
$handler->override_option('empty_format', '3');
$handler->override_option('items_per_page', 5);
$handler->override_option('distinct', 1);
$handler->override_option('row_options', array(
'inline' => array(
'field_event_date_value' => 'field_event_date_value',
'title' => 'title',
),
'separator' => '-',
'hide_empty' => 0,
));
$handler->override_option('exposed_block', TRUE);
$handler = $view->new_display('block', 'Block', 'block_1');
$handler->override_option('block_description', '');
$handler->override_option('block_caching', -1);
Comments
Comment #1
npoku commentedI found out that the view accepts arguments when they are not exposed in blocks. So, they only work on views they displayed on. Here is the current project site. http://www.azurfa.com/classifieds-posting
Comment #2
damienmckennaUnfortunately the Drupal 6 version of the Date module is no longer supported. That said, we appreciate that you took time to work on this issue. Should this request still be relevant for Drupal 7 please feel free to reopen it. Thank you.