Hi guys,

Drupal 6, Nodequeue 6.11, Views 2.12.

I used your module several times, but my use case hit a wall. I created a smartqueue so that I have a queue for each term of a vocabulary. I'm using Views to display the results. The problem relates to having a node tagged with multiple items of this vocabulary. The order is not respected, and when I change the order of the nodes in the queue, nothing happens in the display.

Deeper explanations :

I have a vocabulary with multiple terms, all at the same level, no nesting. I have a content type that uses this vocabulary. These nodes can have multiple terms from this vocabulary. I have a smart for this vocabulary so that I have a subqueue for each term. I add these nodes to the several relevant subqueues. I properly create the View (adding the relationship to the queue, requiring it and limiting it this queue, then adding a sorting filter using Nodequeue:position). I even added the Taxonomy Term ID as argument, taking the Term ID from the URL.

Problem number 1 : the nodes are displayed as many times as they're present in a subqueues. So I have many duplicate results. This problem is solved when I limit results with DISTINCT in the Views UI.

Problem number 2 : the nodes are not displayed in the nodequeue order. As the relationships depends on the nodequeue ID, and not the taxonomy subqueue, Views has no way of distinguishing the subqueue I want to use.

I think the solution to my problem resides in adding the possibility to limit results to a particular subqueue, but as the term id comes from the URL, the selected subqueue should depend on the URL. Not sure it's feasibile with Views, even in version 3... I know work is going on in the Views issue queue to use arguments (contextual filters) as regular filters, and this would add the needed flexibility. Or maybe playing with the relationship and allowing limiting the results to a particular subqueue, with the option of using a Term ID from the URL. But something tells me that Views relationships don't permit it...

So for now, I'm completely stuck... I can't manually create a Nodequeue for each term, since there's only one view to display the various orders of nodes... I can't rely on published dates for the same reason, the nodes are not in the same order depending on the term... I can't use smarqueues because of the problem noted above...

Any help really appreciated. Not sure if it's a bug or a support request, but marking it as a bug since I don't see the results I was expecting.

Support from Acquia helps fund testing for Drupal Acquia logo

Comments

djschoone’s picture

I have the same problem with subqueues.

Use case:
Our frontpage with newsitems are grouped by vocabulary (categories). To 'push' the most important item to the top, i have realized a nodequeue with subqueue. The following items are sorted by date. (first sort on nodequeue position, then by date) Works fine for items placed in only 1 term within the vocabulary. The problem rises when it has multiple terms, which is a possibility. It will be on the top of both lists. Possibly showing twice if it's the first item of both categories.

The relationship integration with views lacks the possibility to assign the subqueue id if it exists. The part of the query that needs to be fixed looks like this:

LEFT JOIN nodequeue_nodes nodequeue_nodes_node ON node.nid = nodequeue_nodes_node.nid AND nodequeue_nodes_node.qid = <nodequeue id>

this should become

LEFT JOIN nodequeue_nodes nodequeue_nodes_node ON node.nid = nodequeue_nodes_node.nid AND nodequeue_nodes_node.qid = <nodequeue id> AND nodequeue_nodes_node.sqid = <sqid within qid>

Anyone already has worked this out?

Steve Polito Design’s picture

Little late, but hope this helps.

  • Nodequeue 7.x-2.0-beta1
  • Views 7.x-3.10

Once you add a relationship to the nodeque, you need to filter by two criteria:

  1. Nodequeue: Subqueue reference
  2. Nodequeue: Position

views screenshot of nodeque filter