There's no pager visible for visitors (not logged in). Authenticated users are seeing the pager. The permissionspage does not show a rule for pager (or something like that). So, what's going wrong here? A bug or a wrong setting? I can't find it ..

Comments

ccheu’s picture

Indeed. I'm experiencing almost the same. I can see the pager only when I am logged in as administrator. If I login as authenticated user or even using Facebook Connect (Drupal for Facebook - fb_connect.module) I cannot see the pager.

MatthijsG’s picture

What is your version?

ccheu’s picture

Version: 7.x-3.0-alpha1 » 7.x-3.x-dev

The version I am having problem with is 7.x-3.x-dev.

ccheu’s picture

Version: 7.x-3.x-dev » 7.x-3.0-alpha1

Sorry. I shouldn't change the version on your thread! :)

bojanz’s picture

Version: 7.x-3.0-alpha1 » 7.x-3.x-dev
Status: Active » Postponed (maintainer needs more info)

Actually, all bug reports should be against -dev, since we've had quite a number of fixes committed since alpha1.
Unfortunately, I can't reproduce this (d7, views 3 dev). Tried both the full pager & the mini pager, and it shows for anonymous users.

Can you:
1) Export the problematic View
2) Revert to the default Drupal theme and see if it's okay then.

ccheu’s picture

Mine is as follows.

$view = new view;
$view->name = 'list_latest';
$view->description = '';
$view->tag = 'Test List';
$view->base_table = 'node';
$view->human_name = 'List - Latest';
$view->core = 7;
$view->api_version = '3.0-alpha1';
$view->disabled = FALSE; /* Edit this to true to make a default view disabled initially */

/* Display: Defaults */
$handler = $view->new_display('default', 'Defaults', 'default');
$handler->display->display_options['access']['type'] = 'none';
$handler->display->display_options['cache']['type'] = 'none';
$handler->display->display_options['query']['type'] = 'views_query';
$handler->display->display_options['exposed_form']['type'] = 'basic';
$handler->display->display_options['pager']['type'] = 'full';
$handler->display->display_options['pager']['options']['items_per_page'] = '2';
$handler->display->display_options['pager']['options']['offset'] = '0';
$handler->display->display_options['pager']['options']['id'] = '0';
$handler->display->display_options['pager']['options']['expose']['items_per_page_options_all'] = 0;
$handler->display->display_options['style_plugin'] = 'grid';
$handler->display->display_options['style_options']['fill_single_line'] = 1;
$handler->display->display_options['row_plugin'] = 'fields';
/* Field: Fields: field_photo */
$handler->display->display_options['fields']['entity_id_3']['id'] = 'entity_id_3';
$handler->display->display_options['fields']['entity_id_3']['table'] = 'field_data_field_photo';
$handler->display->display_options['fields']['entity_id_3']['field'] = 'entity_id';
$handler->display->display_options['fields']['entity_id_3']['label'] = '';
$handler->display->display_options['fields']['entity_id_3']['alter']['alter_text'] = 0;
$handler->display->display_options['fields']['entity_id_3']['alter']['make_link'] = 0;
$handler->display->display_options['fields']['entity_id_3']['alter']['absolute'] = 0;
$handler->display->display_options['fields']['entity_id_3']['alter']['trim'] = 0;
$handler->display->display_options['fields']['entity_id_3']['alter']['word_boundary'] = 1;
$handler->display->display_options['fields']['entity_id_3']['alter']['ellipsis'] = 1;
$handler->display->display_options['fields']['entity_id_3']['alter']['strip_tags'] = 0;
$handler->display->display_options['fields']['entity_id_3']['alter']['html'] = 0;
$handler->display->display_options['fields']['entity_id_3']['element_label_colon'] = 1;
$handler->display->display_options['fields']['entity_id_3']['element_default_classes'] = 1;
$handler->display->display_options['fields']['entity_id_3']['hide_empty'] = 0;
$handler->display->display_options['fields']['entity_id_3']['empty_zero'] = 0;
$handler->display->display_options['fields']['entity_id_3']['click_sort_column'] = 'fid';
$handler->display->display_options['fields']['entity_id_3']['settings'] = array(
'image_style' => 'grid_medium',
'image_link' => 'content',
);
/* Field: Node: Title */
$handler->display->display_options['fields']['title']['id'] = 'title';
$handler->display->display_options['fields']['title']['table'] = 'node';
$handler->display->display_options['fields']['title']['field'] = 'title';
$handler->display->display_options['fields']['title']['label'] = '';
$handler->display->display_options['fields']['title']['alter']['alter_text'] = 0;
$handler->display->display_options['fields']['title']['alter']['make_link'] = 0;
$handler->display->display_options['fields']['title']['alter']['absolute'] = 0;
$handler->display->display_options['fields']['title']['alter']['trim'] = 1;
$handler->display->display_options['fields']['title']['alter']['max_length'] = '100';
$handler->display->display_options['fields']['title']['alter']['word_boundary'] = 1;
$handler->display->display_options['fields']['title']['alter']['ellipsis'] = 1;
$handler->display->display_options['fields']['title']['alter']['strip_tags'] = 0;
$handler->display->display_options['fields']['title']['alter']['html'] = 0;
$handler->display->display_options['fields']['title']['element_label_colon'] = 1;
$handler->display->display_options['fields']['title']['element_default_classes'] = 1;
$handler->display->display_options['fields']['title']['hide_empty'] = 0;
$handler->display->display_options['fields']['title']['empty_zero'] = 0;
$handler->display->display_options['fields']['title']['link_to_node'] = 1;
/* Field: Fields: field_number */
$handler->display->display_options['fields']['entity_id']['id'] = 'entity_id';
$handler->display->display_options['fields']['entity_id']['table'] = 'field_data_field_number';
$handler->display->display_options['fields']['entity_id']['field'] = 'entity_id';
$handler->display->display_options['fields']['entity_id']['label'] = '';
$handler->display->display_options['fields']['entity_id']['alter']['alter_text'] = 0;
$handler->display->display_options['fields']['entity_id']['alter']['make_link'] = 0;
$handler->display->display_options['fields']['entity_id']['alter']['absolute'] = 0;
$handler->display->display_options['fields']['entity_id']['alter']['trim'] = 0;
$handler->display->display_options['fields']['entity_id']['alter']['word_boundary'] = 1;
$handler->display->display_options['fields']['entity_id']['alter']['ellipsis'] = 1;
$handler->display->display_options['fields']['entity_id']['alter']['strip_tags'] = 0;
$handler->display->display_options['fields']['entity_id']['alter']['html'] = 0;
$handler->display->display_options['fields']['entity_id']['element_label_colon'] = 1;
$handler->display->display_options['fields']['entity_id']['element_default_classes'] = 1;
$handler->display->display_options['fields']['entity_id']['hide_empty'] = 0;
$handler->display->display_options['fields']['entity_id']['empty_zero'] = 0;
$handler->display->display_options['fields']['entity_id']['settings'] = array(
'thousand_separator' => ',',
'decimal_separator' => '.',
'scale' => '0',
'prefix_suffix' => 1,
);
/* Field: Node: Post date */
$handler->display->display_options['fields']['created']['id'] = 'created';
$handler->display->display_options['fields']['created']['table'] = 'node';
$handler->display->display_options['fields']['created']['field'] = 'created';
$handler->display->display_options['fields']['created']['label'] = 'Listed';
$handler->display->display_options['fields']['created']['alter']['alter_text'] = 0;
$handler->display->display_options['fields']['created']['alter']['make_link'] = 0;
$handler->display->display_options['fields']['created']['alter']['absolute'] = 0;
$handler->display->display_options['fields']['created']['alter']['external'] = 0;
$handler->display->display_options['fields']['created']['alter']['trim'] = 0;
$handler->display->display_options['fields']['created']['alter']['nl2br'] = 0;
$handler->display->display_options['fields']['created']['alter']['word_boundary'] = 1;
$handler->display->display_options['fields']['created']['alter']['ellipsis'] = 1;
$handler->display->display_options['fields']['created']['alter']['strip_tags'] = 0;
$handler->display->display_options['fields']['created']['alter']['html'] = 0;
$handler->display->display_options['fields']['created']['element_label_colon'] = 1;
$handler->display->display_options['fields']['created']['element_default_classes'] = 1;
$handler->display->display_options['fields']['created']['hide_empty'] = 0;
$handler->display->display_options['fields']['created']['empty_zero'] = 0;
$handler->display->display_options['fields']['created']['date_format'] = 'time ago';
/* Sort criterion: Node: Post date */
$handler->display->display_options['sorts']['created']['id'] = 'created';
$handler->display->display_options['sorts']['created']['table'] = 'node';
$handler->display->display_options['sorts']['created']['field'] = 'created';
$handler->display->display_options['sorts']['created']['order'] = 'DESC';
/* Filter: Node: Published */
$handler->display->display_options['filters']['status']['id'] = 'status';
$handler->display->display_options['filters']['status']['table'] = 'node';
$handler->display->display_options['filters']['status']['field'] = 'status';
$handler->display->display_options['filters']['status']['value'] = '1';
/* Filter: Node: Type */
$handler->display->display_options['filters']['type']['id'] = 'type';
$handler->display->display_options['filters']['type']['table'] = 'node';
$handler->display->display_options['filters']['type']['field'] = 'type';
$handler->display->display_options['filters']['type']['value'] = array(
'content_type_list' => 'content_type_list',
);
/* Filter: Fields: field_list_type (field_list_type) */
$handler->display->display_options['filters']['field_list_type_value']['id'] = 'field_list_type_value';
$handler->display->display_options['filters']['field_list_type_value']['table'] = 'field_data_field_list_type';
$handler->display->display_options['filters']['field_list_type_value']['field'] = 'field_list_type_value';
$handler->display->display_options['filters']['field_list_type_value']['value'] = array(
'Type1' => 'Type1',
);
$handler->display->display_options['filters']['field_list_type_value']['expose']['operator'] = 'field_list_type_value_op';
$handler->display->display_options['filters']['field_list_type_value']['expose']['label'] = 'Lists';
$handler->display->display_options['filters']['field_list_type_value']['expose']['identifier'] = 'field_list_type_value';
$handler->display->display_options['filters']['field_list_type_value']['expose']['optional'] = 0;
$handler->display->display_options['filters']['field_list_type_value']['expose']['remember'] = 1;
$handler->display->display_options['filters']['field_list_type_value']['expose']['reduce'] = 0;

/* Display: Page */
$handler = $view->new_display('page', 'Page', 'page_1');
$handler->display->display_options['path'] = 'list';

/* Display: Block */
$handler = $view->new_display('block', 'Block', 'block_1');
$handler->display->display_options['defaults']['style_plugin'] = FALSE;
$handler->display->display_options['style_plugin'] = 'gmap';
$handler->display->display_options['style_options']['macro'] = '[gmap |id=usermap|width=100%|height=230px|behavior= +nomousezoom +autozoom]';
$handler->display->display_options['style_options']['markertype'] = 'alt small blue';
$handler->display->display_options['style_options']['latfield'] = 'entity_id_3';
$handler->display->display_options['style_options']['lonfield'] = 'entity_id_3';
$handler->display->display_options['style_options']['markerfield'] = 'entity_id_3';
$handler->display->display_options['style_options']['enablermt'] = 0;
$handler->display->display_options['style_options']['rmtfield'] = 'entity_id_3';
$handler->display->display_options['style_options']['tooltipenabled'] = 1;
$handler->display->display_options['style_options']['tooltipfield'] = 'title';
$handler->display->display_options['defaults']['style_options'] = FALSE;
$handler->display->display_options['defaults']['row_plugin'] = FALSE;
$handler->display->display_options['row_plugin'] = 'fields';
$handler->display->display_options['defaults']['row_options'] = FALSE;
$handler->display->display_options['block_description'] = 'Latest List GMap';
$translatables['list_latest'] = array(
t('Defaults'),
t('more'),
t('Apply'),
t('Reset'),
t('Sort By'),
t('Asc'),
t('Desc'),
t('Items per page'),
t('- All -'),
t('Offset'),
t('Listed'),
t('Lists'),
t('Page'),
t('Block'),
t('Latest List GMap'),
);

merlinofchaos’s picture

Is there something else on the page with a pager id that might be interfering? Another view in a block, perhaps, configured to use the pager but not actually with enough items to page?

ccheu’s picture

Merlinofchaos, thanks for the reply.
The thing that perplexed me is that it worked fine when I logged in as the administrator. The pager did not appear when logged in as viewed as anonymous, logged in as authenticated user or logged in via Facebook Connect (Drupal for Facebook.)

Many thanks.
Chang

agentrickard’s picture

I am seeing this behavior, but only when using a Node Access module.

agentrickard’s picture

Category: feature » bug

In my case, here's what happens to the query when countQuery() is invoked from views_plugin_query_default.inc execute().

Running through SelectQuery countQuery() in select.inc.

Notes are the sub-sections of the query alteration functions run by http://api.drupal.org/api/drupal/includes--database--select.inc/function....

The original query comes from views.

--------
original
--------
SELECT field_data_field_ledeimage.entity_id AS field_data_field_ledeimage_entity_id, field_data_field_ledeimage.entity_type AS field_data_field_ledeimage_entity_type, field_data_field_ledeimage.delta AS field_data_field_ledeimage_delta, field_data_field_ledeimage.language AS field_data_field_ledeimage_language, field_data_field_ledeimage.field_ledeimage_fid AS field_data_field_ledeimage_field_ledeimage_fid, field_data_field_ledeimage.field_ledeimage_alt AS field_data_field_ledeimage_field_ledeimage_alt, field_data_field_ledeimage.field_ledeimage_title AS field_data_field_ledeimage_field_ledeimage_title, field_data_field_ledeimage.revision_id AS field_data_field_ledeimage_revision_id, field_data_field_ledeimage.bundle AS field_data_field_ledeimage_bundle, node.title AS node_title, node.nid AS nid, field_data_field_lede.entity_id AS field_data_field_lede_entity_id, field_data_field_lede.entity_type AS field_data_field_lede_entity_type, field_data_field_lede.delta AS field_data_field_lede_delta, field_data_field_lede.language AS field_data_field_lede_language, field_data_field_lede.field_lede_value AS field_data_field_lede_field_lede_value, field_data_field_lede.field_lede_format AS field_data_field_lede_field_lede_format, field_data_field_lede.revision_id AS field_data_field_lede_revision_id, field_data_field_lede.bundle AS field_data_field_lede_bundle, node.created AS node_created
FROM 
{node} node
LEFT JOIN {domain_access} domain_access ON node.nid = domain_access.nid
LEFT JOIN {field_data_field_ledeimage} field_data_field_ledeimage ON node.nid = field_data_field_ledeimage.entity_id AND (field_data_field_ledeimage.entity_type = :views_join_condition_0 AND field_data_field_ledeimage.deleted = :views_join_condition_1)
LEFT JOIN {field_data_field_lede} field_data_field_lede ON node.nid = field_data_field_lede.entity_id AND (field_data_field_lede.entity_type = :views_join_condition_2 AND field_data_field_lede.deleted = :views_join_condition_3)
WHERE (( (node.status = :db_condition_placeholder_4) AND (node.type IN  (:db_condition_placeholder_5)) AND (domain_access.gid IN  (:db_condition_placeholder_6)) AND (domain_access.realm = :db_condition_placeholder_7) ))
ORDER BY node_created DESC

--------
group_by

--------

SELECT field_data_field_ledeimage.entity_id AS field_data_field_ledeimage_entity_id, field_data_field_ledeimage.entity_type AS field_data_field_ledeimage_entity_type, field_data_field_ledeimage.delta AS field_data_field_ledeimage_delta, field_data_field_ledeimage.language AS field_data_field_ledeimage_language, field_data_field_ledeimage.field_ledeimage_fid AS field_data_field_ledeimage_field_ledeimage_fid, field_data_field_ledeimage.field_ledeimage_alt AS field_data_field_ledeimage_field_ledeimage_alt, field_data_field_ledeimage.field_ledeimage_title AS field_data_field_ledeimage_field_ledeimage_title, field_data_field_ledeimage.revision_id AS field_data_field_ledeimage_revision_id, field_data_field_ledeimage.bundle AS field_data_field_ledeimage_bundle, node.title AS node_title, node.nid AS nid, field_data_field_lede.entity_id AS field_data_field_lede_entity_id, field_data_field_lede.entity_type AS field_data_field_lede_entity_type, field_data_field_lede.delta AS field_data_field_lede_delta, field_data_field_lede.language AS field_data_field_lede_language, field_data_field_lede.field_lede_value AS field_data_field_lede_field_lede_value, field_data_field_lede.field_lede_format AS field_data_field_lede_field_lede_format, field_data_field_lede.revision_id AS field_data_field_lede_revision_id, field_data_field_lede.bundle AS field_data_field_lede_bundle, node.created AS node_created
FROM 
{node} node
LEFT JOIN {domain_access} domain_access ON node.nid = domain_access.nid
LEFT JOIN {field_data_field_ledeimage} field_data_field_ledeimage ON node.nid = field_data_field_ledeimage.entity_id AND (field_data_field_ledeimage.entity_type = :views_join_condition_0 AND field_data_field_ledeimage.deleted = :views_join_condition_1)
LEFT JOIN {field_data_field_lede} field_data_field_lede ON node.nid = field_data_field_lede.entity_id AND (field_data_field_lede.entity_type = :views_join_condition_2 AND field_data_field_lede.deleted = :views_join_condition_3)
WHERE (( (node.status = :db_condition_placeholder_4) AND (node.type IN  (:db_condition_placeholder_5)) AND (domain_access.gid IN  (:db_condition_placeholder_6)) AND (domain_access.realm = :db_condition_placeholder_7) ))
ORDER BY node_created DESC


--------
!distinct
--------

SELECT 
FROM 
{node} node
LEFT JOIN {domain_access} domain_access ON node.nid = domain_access.nid
LEFT JOIN {field_data_field_ledeimage} field_data_field_ledeimage ON node.nid = field_data_field_ledeimage.entity_id AND (field_data_field_ledeimage.entity_type = :views_join_condition_0 AND field_data_field_ledeimage.deleted = :views_join_condition_1)
LEFT JOIN {field_data_field_lede} field_data_field_lede ON node.nid = field_data_field_lede.entity_id AND (field_data_field_lede.entity_type = :views_join_condition_2 AND field_data_field_lede.deleted = :views_join_condition_3)
WHERE (( (node.status = :db_condition_placeholder_4) AND (node.type IN  (:db_condition_placeholder_5)) AND (domain_access.gid IN  (:db_condition_placeholder_6)) AND (domain_access.realm = :db_condition_placeholder_7) ))
ORDER BY node_created DESC

--------
addExpression
--------

SELECT 1 AS expression
FROM 
{node} node
LEFT JOIN {domain_access} domain_access ON node.nid = domain_access.nid
LEFT JOIN {field_data_field_ledeimage} field_data_field_ledeimage ON node.nid = field_data_field_ledeimage.entity_id AND (field_data_field_ledeimage.entity_type = :views_join_condition_0 AND field_data_field_ledeimage.deleted = :views_join_condition_1)
LEFT JOIN {field_data_field_lede} field_data_field_lede ON node.nid = field_data_field_lede.entity_id AND (field_data_field_lede.entity_type = :views_join_condition_2 AND field_data_field_lede.deleted = :views_join_condition_3)
WHERE (( (node.status = :db_condition_placeholder_4) AND (node.type IN  (:db_condition_placeholder_5)) AND (domain_access.gid IN  (:db_condition_placeholder_6)) AND (domain_access.realm = :db_condition_placeholder_7) ))
ORDER BY node_created DESC

---------
if distinct
--------

SELECT 1 AS expression
FROM 
{node} node
LEFT JOIN {domain_access} domain_access ON node.nid = domain_access.nid
LEFT JOIN {field_data_field_ledeimage} field_data_field_ledeimage ON node.nid = field_data_field_ledeimage.entity_id AND (field_data_field_ledeimage.entity_type = :views_join_condition_0 AND field_data_field_ledeimage.deleted = :views_join_condition_1)
LEFT JOIN {field_data_field_lede} field_data_field_lede ON node.nid = field_data_field_lede.entity_id AND (field_data_field_lede.entity_type = :views_join_condition_2 AND field_data_field_lede.deleted = :views_join_condition_3)
WHERE (( (node.status = :db_condition_placeholder_4) AND (node.type IN  (:db_condition_placeholder_5)) AND (domain_access.gid IN  (:db_condition_placeholder_6)) AND (domain_access.realm = :db_condition_placeholder_7) ))

--------
connection
--------
SELECT 
FROM 
(SELECT DISTINCT 1 AS expression
FROM 
{node} node
LEFT JOIN {domain_access} domain_access ON node.nid = domain_access.nid
LEFT JOIN {field_data_field_ledeimage} field_data_field_ledeimage ON node.nid = field_data_field_ledeimage.entity_id AND (field_data_field_ledeimage.entity_type = :views_join_condition_0 AND field_data_field_ledeimage.deleted = :views_join_condition_1)
LEFT JOIN {field_data_field_lede} field_data_field_lede ON node.nid = field_data_field_lede.entity_id AND (field_data_field_lede.entity_type = :views_join_condition_2 AND field_data_field_lede.deleted = :views_join_condition_3)
INNER JOIN {node_access} na ON na.nid = node.nid
WHERE (( (node.status = :db_condition_placeholder_4) AND (node.type IN  (:db_condition_placeholder_5)) AND (domain_access.gid IN  (:db_condition_placeholder_6)) AND (domain_access.realm = :db_condition_placeholder_7) ))AND(( (na.gid = :db_condition_placeholder_8) AND (na.realm = :db_condition_placeholder_9) )OR( (na.gid = :db_condition_placeholder_10) AND (na.realm = :db_condition_placeholder_11) )OR( (na.gid = :db_condition_placeholder_12) AND (na.realm = :db_condition_placeholder_13) ))AND (na.grant_view >= :db_condition_placeholder_14) ) subquery
add COUNT
SELECT COUNT(*) AS expression
FROM 
(SELECT DISTINCT 1 AS expression
FROM 
{node} node
LEFT JOIN {domain_access} domain_access ON node.nid = domain_access.nid
LEFT JOIN {field_data_field_ledeimage} field_data_field_ledeimage ON node.nid = field_data_field_ledeimage.entity_id AND (field_data_field_ledeimage.entity_type = :views_join_condition_0 AND field_data_field_ledeimage.deleted = :views_join_condition_1)
LEFT JOIN {field_data_field_lede} field_data_field_lede ON node.nid = field_data_field_lede.entity_id AND (field_data_field_lede.entity_type = :views_join_condition_2 AND field_data_field_lede.deleted = :views_join_condition_3)
INNER JOIN {node_access} na ON na.nid = node.nid
WHERE (( (node.status = :db_condition_placeholder_4) AND (node.type IN  (:db_condition_placeholder_5)) AND (domain_access.gid IN  (:db_condition_placeholder_6)) AND (domain_access.realm = :db_condition_placeholder_7) ))AND(( (na.gid = :db_condition_placeholder_8) AND (na.realm = :db_condition_placeholder_9) )OR( (na.gid = :db_condition_placeholder_10) AND (na.realm = :db_condition_placeholder_11) )OR( (na.gid = :db_condition_placeholder_12) AND (na.realm = :db_condition_placeholder_13) ))AND (na.grant_view >= :db_condition_placeholder_14) ) subquery


--------
returned count_query
--------

SELECT COUNT(*) AS expression
FROM 
(SELECT DISTINCT 1 AS expression
FROM 
{node} node
LEFT JOIN {domain_access} domain_access ON node.nid = domain_access.nid
LEFT JOIN {field_data_field_ledeimage} field_data_field_ledeimage ON node.nid = field_data_field_ledeimage.entity_id AND (field_data_field_ledeimage.entity_type = :views_join_condition_0 AND field_data_field_ledeimage.deleted = :views_join_condition_1)
LEFT JOIN {field_data_field_lede} field_data_field_lede ON node.nid = field_data_field_lede.entity_id AND (field_data_field_lede.entity_type = :views_join_condition_2 AND field_data_field_lede.deleted = :views_join_condition_3)
INNER JOIN {node_access} na ON na.nid = node.nid
WHERE (( (node.status = :db_condition_placeholder_4) AND (node.type IN  (:db_condition_placeholder_5)) AND (domain_access.gid IN  (:db_condition_placeholder_6)) AND (domain_access.realm = :db_condition_placeholder_7) ))AND(( (na.gid = :db_condition_placeholder_8) AND (na.realm = :db_condition_placeholder_9) )OR( (na.gid = :db_condition_placeholder_10) AND (na.realm = :db_condition_placeholder_11) )OR( (na.gid = :db_condition_placeholder_12) AND (na.realm = :db_condition_placeholder_13) ))AND (na.grant_view >= :db_condition_placeholder_14) ) subquery

This might be a core bug, or it may be that the Views query isn't structured as core expects.

agentrickard’s picture

Oddly, marking the View itself as distinct has no effect.

MatthijsG’s picture

Here's my response:

No pager as anonymous visitor with:
* custom theme
* Garland
* Bartik

Below my exported code. AFAIK i didn't touch the standard View. It's a new site.

Could it be something in the Panels, because this View is regulated by Panels?

$view = new view;
$view->name = 'og_nodes';
$view->description = 'Show all nodes of a group.';
$view->tag = 'group';
$view->base_table = 'node';
$view->human_name = '';
$view->core = 0;
$view->api_version = '3.0-alpha1';
$view->disabled = FALSE; /* Edit this to true to make a default view disabled initially */

/* Display: Defaults */
$handler = $view->new_display('default', 'Defaults', 'default');
$handler->display->display_options['access']['type'] = 'none';
$handler->display->display_options['cache']['type'] = 'none';
$handler->display->display_options['query']['type'] = 'views_query';
$handler->display->display_options['exposed_form']['type'] = 'basic';
$handler->display->display_options['exposed_form']['options']['reset_button_label'] = 'Opnieuw instellen';
$handler->display->display_options['pager']['type'] = 'full';
$handler->display->display_options['style_plugin'] = 'default';
$handler->display->display_options['row_plugin'] = 'node';
$handler->display->display_options['row_options']['links'] = 1;
$handler->display->display_options['row_options']['comments'] = 0;
/* Sort criterion: Node: Post date */
$handler->display->display_options['sorts']['created']['id'] = 'created';
$handler->display->display_options['sorts']['created']['table'] = 'node';
$handler->display->display_options['sorts']['created']['field'] = 'created';
$handler->display->display_options['sorts']['created']['order'] = 'DESC';
/* Argument: Fields: group_audience (group_audience) - gid */
$handler->display->display_options['arguments']['group_audience_gid']['id'] = 'group_audience_gid';
$handler->display->display_options['arguments']['group_audience_gid']['table'] = 'field_data_group_audience';
$handler->display->display_options['arguments']['group_audience_gid']['field'] = 'group_audience_gid';
$handler->display->display_options['arguments']['group_audience_gid']['default_action'] = 'default';
$handler->display->display_options['arguments']['group_audience_gid']['style_plugin'] = 'default_summary';
$handler->display->display_options['arguments']['group_audience_gid']['default_argument_type'] = 'og_context';
$handler->display->display_options['arguments']['group_audience_gid']['validate_fail'] = 'empty';
$handler->display->display_options['arguments']['group_audience_gid']['break_phrase'] = 0;
$handler->display->display_options['arguments']['group_audience_gid']['not'] = 0;
/* Filteren: Node: Gepubliceerd */
$handler->display->display_options['filters']['status']['id'] = 'status';
$handler->display->display_options['filters']['status']['table'] = 'node';
$handler->display->display_options['filters']['status']['field'] = 'status';
$handler->display->display_options['filters']['status']['value'] = '1';
$translatables['og_nodes'] = array(
  t('Defaults'),
  t('more'),
  t('Apply'),
  t('Opnieuw instellen'),
  t('Sort By'),
  t('Asc'),
  t('Desc'),
  t('Items per page'),
  t('- All -'),
  t('Offset'),
  t('Alle'),
);
merlinofchaos’s picture

Status: Postponed (maintainer needs more info) » Active

Looks like there may be a core bug with the count query here based on agentrickard's data. Not quite sure what to do yet. Need to get Crell to look at this, I think, and advise.

agentrickard’s picture

@Lenn-art

[edit] I see that you are using OG, that would explain part of it. I think we have a Node Access issue based on how core and Views interact. You aren't doing anything "wrong" here. Panels is likely not an issue.

MatthijsG’s picture

Is there any way i could provide more output to help, like some results?

agentrickard’s picture

@Lenn-art

No need. The fact that you're using a standard OG View provides us with most of the information we need for debugging. The problem is that this is a very complex bug that might be part of Drupal core, and so a fix might take some time.

kevin p davison’s picture

I just found this issue, and I'm having the same problem with the pager for anonymous users. I did try Bartik instead of my own theme, and the problem still exists.

* http://drupal.org/node/1059840

Kevin

mjgruta’s picture

I also have this problem using Views 7.x-3.x-dev (Feb 17)

As I remember from the previews version of views dev this past few weeks, this problem only occurs when I enable "Use Ajax" but now even when I disable Use Ajax the pager is still missing on visitors.

desmondmorris’s picture

Subscribe

blackice2999’s picture

Hi,

same here logged in users and anonymous users doesnt see any pager. User 1 can see them.
@merlinofchaos: You talk about a node access module, i use "Domain Access" i will try to debug them tonight.

regards
Dennis

ccheu’s picture

Dennis, please keep us posted. Danke schön!

blackice2999’s picture

Status: Active » Needs review
StatusFileSize
new630 bytes

Hi,

since i talked long with "dereine" we have found a possible solution. The access modules uses preExecute() and this must be invoked from the view default query.
i attached a patch (agains dev branch from today) that worked for me but iam not fully understand the "why" and hope @merlinofchaos can explain it a little.

regards
Dennis

dawehner’s picture

Here is the code from pagerdefault:

  public function execute() {

    // Add convenience tag to mark that this is an extended query. We have to
    // do this in the constructor to ensure that it is set before preExecute()
    // gets called.
    if (!$this->preExecute($this)) {
      return NULL;
    }

    // A NULL limit is the "kill switch" for pager queries.
    if (empty($this->limit)) {
      return;
    }
    $this->ensureElement();

    $total_items = $this->getCountQuery()->execute()->fetchField();
    $current_page = pager_default_initialize($total_items, $this->limit, $this->element);
    $this->range($current_page * $this->limit, $this->limit);

    // Now that we've added our pager-based range instructions, run the query normally.
    return $this->query->execute();
  }

So basically you have to execute preExecute before running countQuery.

agentrickard’s picture

The code from #22 fixes my problem, as reported in #10.

agentrickard’s picture

StatusFileSize
new620 bytes

And a patch.

agentrickard’s picture

StatusFileSize
new624 bytes

With a slightly better comment.

agentrickard’s picture

StatusFileSize
new948 bytes

Discusses with @dereine in IRC and obsessively documented inline patch.

dawehner’s picture

Status: Needs review » Fixed

Commited the latest version to git.

Thanks for all this community work. This is what makes drupal special

ytsurk’s picture

Status: Fixed » Needs review

hey,

i got this issue here
(no pager shown if user:1 ..)
- maybe realted

http://drupal.org/node/1068198

edit:
i tried the patch #22 (no help so far)
where to change the snippet of #23 ??

don't get the patches

<?php
   $query->preExecute();
   $count_query->preExecute();
?>

the last only got (which is what i'm using ..)

<?php
   $count_query->preExecute();
?>

but for me, like mentioned above, pager is not shown if admin (tried both snippets) .. maybe something different ...

dawehner’s picture

Status: Needs review » Fixed

PreExecute is just needed for the countQuery. This is fine. Let's use the other issue.

Status: Fixed » Closed (fixed)

Automatically closed -- issue fixed for 2 weeks with no activity.

mattez’s picture

#7 solved my problem. THANX a lot!!
I have attached views. I set them to "display all" (no pager) => pager on parent/main view is now visible and start working. Thanx again!

michaellenahan’s picture

Same here: #7 #32 solved my problem. Thank you!

In my case: the problematic main view had a "View area" in its header.

In the view referred to by the view area, I removed the pager, setting it to display all items.
(This pager on the header view had no real function anyway).

Now, the pager on the main view works properly and shows for all visitors.