Smartqueues for content types

Categories

Component ID

700256

Component name

Smartqueues for content types

Component type

module

Maintenance status

Development status

Component security advisory coverage

not-covered

Downloads

1417

Component created

Component changed

Component body

This is a companion module for Nodequeue.

This module provides a smartqueues based on avaliable content types. It adds a subqueue per node of selected content type to hold an ordered queue for nodes of another types. Any of these types can be used for smartqueues as well to hold additional levels of nodes grouping. So you can build very complex informational structures powered by handy Nodequeue's features and integration.

Requires: Nodequeue 2.x

Usage

With this module installed it's possible to create following node relationships:

nodetype A-----------> queue [use nodetypes B and C]
 |                     |
 +--> node[type A] <=> +--> subqueue
 |                     |    +--> node[type B]
 |                     |    +--> node[type B]
 |                     |    +--> node[type C]
 +--> node[type A] <=> +--> subqueue
 |                     |    +--> node[type C]
 |                     |    +--> node[type B]
 |                     |    +--> node[type C]
...                   ...  ...

Multi-level hierarchies:

nodetype A -----> queue [use nodetypes B and C]
 |                |
 +--> node[A] <=> +--> subqueue        nodetype B --> queue [use nodetypes D]
 |                |    +--> node[B] ---^ <==========> +-->subqueue
 |                |    |                              |   +--> node[D]
 |                |    |                              |   +--> node[D]
 |                |    |                              |   +--> node[D]
 |                |    +--> node[C]                   +-->subqueue
 |                |    |                              |   +--> node[D]
...              ...  ...                            ... ...

Several smartqueues

:

taxonomy vocabulary 1 --> queue [use nodetypes A and C] (Smartqueue for Taxonomy)
 |                        |
 +--> term 1 <==========> +--> subqueue        nodetype A --> queue [use nodetypes B]
 |                        |    +--> node[A] ---^ <==========> +-->subqueue
 |                        |    |                              |   +--> node[B]
 |                        |    |                              |   +--> node[B]
 |                        |    |                              |   +--> node[B]
 |                        |    +--> node[C]                   +-->subqueue
 |                        |    |                              |   +--> node[B]
...                      ...  ...                            ... ...

UPDATE for use cases:

More concrete examples at the instance of meecect.

UPDATE for 1.2 Beta2:

You can define per-queue custom PHP code for additional node filtering. This code evaluates on every pair of nodes which relationship can be established, it should return TRUE to filter out (do not include) candidates.

Variables are avaliable:
$queue — nodequeue object;
$sq_node — subqueue node object (not fully-loaded, just nid, type and title);
$node — candidate node object.
Do not include <?php ?>

 

Note: Nodereference field from CCK and Category have a similar functions for building one-to-many nodes relationship based on content types.

Russian: Описание и обсуждение модуля по-русски на drupal.ru