System pager isn't showing for logged in users I'm using Panels 7.x-3.2 on Drupal 7.12. I have the Panels Taxonomy term template enabled and for some reason, there's no pager being rendered below the content. You can manually append ?page=x to the URL and it works, but the pager isn't being shown.

It displays if I enable the Taxonomy Term View instead of the Panel, but I need to use Panels to handle term output in order to heavily customise the layout of terms under a specific vocabulary, so using Views for it isn't really an option.

Any ideas? I looked through the Panels settings both for the specific Panel page and the general ones, but there's no mention of pagers or pagination anywhere, so I'm completely stumped...!

EDIT
turns out this isn't Panels related. D'oh. It appears to be strictly related to Taxonomy itself. I recall having this issue before, where a Taxonomy term page should have shown a pager but didn't until I overrode the output using Views' Taxonomy term page. Not sure what's causing this but I can't find any related issues for Drupal 7.x core, so maybe it's something to do with my theme (which is derived from Zen)?

EDIT 2 (25-Apr-12)
after extensive scouring for the cause of this problem I have been able to narrow it down further, but not much. Here's what I know at this point:


It's affecting system-generated (non-Views) Taxonomy term pages
The pager is rendered to anonymous users; as soon as you log in, regardless of the account/roles/permissions, the pager disappears
Pagination itself works; you can append the ?page= parameter to the URL and it will return the specified page of content
Changing the theme to Bartik fixes the problem


Given that, you'd think my themes (I'm using a parent one and a child theme, both derived from Zen) doing some really weird stuff with page output, but there's absolutely nothing in them that could logically affect paging - especially not for logged in users. In fact, the only hooks they implement are:


template_preprocess_page() (to add some page-specific JS and CSS)
hook_form_alter() (to customise the search form)
hook_privatemsg_message_presave_alter()
theme_breadcrumb() (pretty much as written in Zen)
theme_menu_local_tasks() (also pretty much as written in Zen, which in itself is almost like the original code for it - tweaks the HTML for tabs slightly)
theme_menu_local_task() (again, just the Zen implementation)
template_preprocess_html() (to add body classes)
template_process_page() (very small if condition to specify if the page is a node or not)


Plus some other process_ and preprocess_ hook implementations to add some classes and tpl suggestions. There's absolutely no manipulation of any "pager" stuff anywhere, or nothing obvious anyway... so this has really stumped me, but it has to be something in my themes surely?

Also, just to clarify, it's definitely not a case of CSS interference as the markup doesn't even make it into the output - it's completely absent. Argh!
Finally figured out the problem with some help from a friend. It was being caused by a conflicting pager in a custom made View that rendered the current user's picture in a block on every page. It's only set to display when the user is logged in, hence why the problem was non-existent for anonymous users.

Changing the pager settings for the view from "Full, display 10 items" to "Display all items" has fixed the problem (presumably since there's only a maximum of 1 user picture to output in the View, Views dictated that there was only 1 page and that interfered with the other pager).

I suppose another solution, although not necessary in this case, would be to change the View's Pager ID.

In hindsight the solution is pretty obvious, because I have known about the Pager ID setting for a long time, and even knew what it did - but hopefully this will come in useful for anyone else with a complex site layout running into the same problem. :)