This project is not covered by Drupal’s security advisory policy.

A common views task is to display a set of node teasers, filtered and ordered by any condition. However, these filters and orderings are limited to the actual views display in the first place and is lost once a visitor follows the link to one of the result nodes, seeing the actual node page.
There are some common approaches alright, like "not display node teasers" (but fields, cloning the existing teaser display), "create a full-node view" (with 1/1 paging, at the cost of no longer dealing with original node based paths or rendering), manually creating book structures or node queues and there have even been some initiatives to deal with this situation.

However, all approaches I found meant additional work in some way. VRP (like I) prefers no additional work at all. VRP takes advantage of some Drupal internals, which already do link a view to the teaser being rendered, and exploits them with almost no configuration effort.

Features

  • Site visitors may browse each detail view of a node teaser-based views result without losing the expected order and without having to use the back button for the next result.
  • Users can navigate not only back to the original result (an "up" link is also included), but will jump directly to the teaser of the node they just viewed in full display (using "#node-nid" as an anchor).
  • Users with a <link rel=> capable browser will discover the corresponding functionality also in their browser's navigation bar.
  • Site builders can easily turn this "Remote pager" feature off (and back on) for each single display of their views. This is also the only configuration option at the moment.

How does it work?

  1. When choosing "content" row style, and enabling VRP, the said hidden views properties are examined while rendering each of the resulting nodes.
  2. If the node is found to be part of a views result, all links being passed to the node template(s) (like "node_url") are extended by a query. This even works with any formatter using the entity_uri approach to generate node links, like e. g. image module does. This means, even if your teaser contains an image formatted as "Link image to content", the link will update properly.
  3. This query, when opening the corresponding node in full (core) node display, is examined again.
  4. If the full node is found to be part of an "original" view, this view is executed again (silently in the background) and the node's position in the result and some other information is taken from the results.
  5. With this information, a book/pager-like navigation can easily be generated, and (in the first place) be embedded as a block on the node page.
  6. Also, <link rel="up/next/..."/> tags are added to the HTML head, for native browser navigation.

Quick reference

  1. Make sure you use views 3 (no other version is supported).
  2. Enable the module.
  3. Turn the VRP feature off for those views displays with a "content" row style (vrp only supports row styles that use a natively rendered node display) you do not want to use VRP.
  4. Place the "Views remote pager" block wherever you will.
  5. Consider your style adoptions. VRP comes with a very basic stylesheet that toggles text and icon links at a (max-width:640px) breakpoint.
  6. Report issues (and/or sensible feature suggestions, if you will).

Roadmap, status

The module is currently considered alpha and not yet recommended for production. Also, testing is still badly needed (please do so!).

The following features are likely to be added when there is time:

  • Improve theming support
  • Optional pager block title
  • Optional node/view title(s) instead of pager labels ("first", "next" etc.)
  • Improved in-views configuration

Project information

Releases