1

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!

6
  • Is the pager perhaps it's own pane? If not, sounds like a bug.
    – Letharion
    Commented Apr 22, 2012 at 12:41
  • I think you might be right. I've double checked all of the settings as well as available panes and there's nothing remotely obvious. I'll check the Panels issue queue (probably should have done that first I guess, but I thought I was perhaps overlooking something).
    – Riari
    Commented Apr 22, 2012 at 14:22
  • OK, looks like it isn't Panels related at all. I got confused and thought the affected term pages were being generated by Panels, but I have it set up to only override terms of one vocabulary. So, I'm pretty sure this is strictly a Taxonomy core issue, but may have something to do with my theme. I have updated my Q accordingly.
    – Riari
    Commented Apr 22, 2012 at 14:48
  • I have the same issue on a site and from what I've managed to check, it's not theme related (nor Display Suite).
    – Scorchio
    Commented Apr 23, 2012 at 15:47
  • Well, to complicate matters further, I just noticed the pager DOES appear if viewing the page as an anonymous user - or at least it does on my site. That would suggest a permissions issue, but I don't see any pager related permissions. Hmm!
    – Riari
    Commented Apr 23, 2012 at 20:50

1 Answer 1

2

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. :)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.