A challenge: first/next/prev/last navigation, with consistent URLs.

Events happening in the community are now at Drupal community events on www.drupal.org.
Posted by eaton on May 4, 2006 at 3:01pm

I've been working on a module for webcomic authors who want to leverage Drupal's tools for building their sites. I've created basic a basic 'browsing' system, not unlike book.module, but I'd like to give it more flexibility.

In a perfect world, I'd write a view that shows one comic at a time, and includes next/prev/last/etc controls in its footer. But that would lead to inconsistent URLs -- the default 'pager' is a less-than-ideal solution, I think.

Is anyone else interested in brainstorming ways to make this happen?

Categories: ,

Comments

Interested

Posted by merlinofchaos on May 4, 2006 at 3:08pm

This is something I've had little luck in coming up with a really good design for, unless you simply don't view the node and use Views to do a complete node view. Unfortunately this leads to a few minor problems, primarily in that the node-links either won't work right, or won't bring you back to the right place.

In 4.8, we should push for a flexible node URL so that modules can have more than just node/XXX/something and things that hook into it can ask the node what the URL should be and use that instead. That'll help a lot.

Indeed.

Posted by eaton on May 4, 2006 at 3:34pm

The change in taxonomy.module to support that has been a huge boon. The only drawback is the number of modules that assume arg(0) == 'node' means that you're on a node page...

As I'm thinking about short-term solutions, I'm even willing to ignore the node link issue. Just making the view work with consistent URLs would interest me a lot. ie, www.example.com/viewname/$nid, or www.example.com/viewname/$term/$nid ....

Still pondering.

I did that drilldown code

Posted by merlinofchaos on May 4, 2006 at 3:39pm

I did that drilldown code that used your php arg addition to restructure the URL so that the view itself had two node ID arguments, and the PHP would chop extra args out so that the url might look like view/X/Y/Z and the view would see view/Z -- and it'd do a node_view in the header and use the summary. The 2nd argument never appeared, so it always used summary mode to get child nodes.

arg(1) == foo

Posted by robertdouglass on May 20, 2006 at 8:08am

It would be nice if you could do some basic arg semantic mapping and validating, perhaps in hook_menu:

<?php
'arguments' => array(0 => array('name' => 'type')
1 => array('name' => 'nid', 'integer' => true)),
?>

This would then be available to the callback function. I guess a lot of work would have to be done to implement something like this, aside from the updating old code issue.

Query string

Posted by Egon Bianchet on May 18, 2006 at 10:29am

What about using a query string like node/x?inview=y and attach previous/next links with nodeapi?

Category mod

Posted by robertdouglass on May 4, 2006 at 5:43pm

it could be that the Category module has this all solved. I'm currently evaluating it. LOTs of complexity, but lots of functionality, too.

Views Developers

Group organizers

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds:

AltStyle によって変換されたページ (->オリジナル) /