Introduction

Let's say I have a Content Type "Movies" and a Content Type "DVD".

The Movies nodes are about the content of the film, the rating of the film, and so on.
The DVD nodes are about the bonus material, the packaging, and so on.

What I want

Now I want to have a relationship between the nodes.
If a user reads the Movies node "Blade Runner", he shall see Links in a block to the DVD nodes (Directors Cut, PAL version, etc.). And vice versa: if a user reads the "Directors Cut" node, he shall see a Link in a block that leads to the movie node.

But I also need a relation like: sequel. At the Movies node "Matrix I" there should be a link to the "Matrix II" node - and from there a backlink to "Matrix I" and a link to "Matrix III".

So it's not a real child-parent-relation. Also something like a association relation.

In general

for every node, show a block wich lists all nodes, that have a relation to this node (forward/backward, association ("see also"), sequel/prequel, remake, child/parent). All relations are reciprocal.

RDF triples?

A RDF-based method would be very cool:

  • [Blade Runner (movie)] [is-published-as] [Blade Runner Directors Cut (DVD)]
  • [Blade Runner Directors Cut (DVD)] [contains] [Blade Runner (movie)]
  • [Blade Runner (movie)] [is-published-as] [Blade Runner PAL (DVD)]
  • [Blade Runner PAL (DVD)] [contains] [Blade Runner (movie)]
  • [Blade Runner (movie)] [is-based-on] [Do Androids Dream of Electric Sheep? (Book)]
  • [Do Androids Dream of Electric Sheep? (Book)] [is-realized-in] [Blade Runner (movie)]

Bonus

It would be cool to be able to create related nodes "on the fly". So when I view the "Blade Runner" (Movie) node, a link "Create related node" would be very handy.

Comments

keith.smith’s picture

subscribe

--keith

cog.rusty’s picture

Searching for RDF node relationships in the "Search downloads" box on the right sidebar will give you some related efforts, still incomplete.

Another way is to use cck with the included nodereference module, and also install the nodereferrer and nodereferrer_create modules, or maybe viewfield. And of course views. The named fields for references and referrers between nodes can serve as qualifiers for the kind of relationship.

no2e’s picture

Here are the project pages of the mentioned modules:

Unfortuneatly, Nodereferrer Create depends on NodeReferrer, but there is no Drupal 6 release for the requirement.

Can you explain me, in what way Viewfield could help?
Is it possible, to get the reference/referrers automatically linked in a block (at node view)?

WorldFallz’s picture

There's an issue for the d6 upgrade of nodereferrer in the issue queue-- toward the bottom of that issue someone describes the steps to do in vews2 to replicate the functionality of the nodereferrer module.

===
"Give a man a fish and you feed him for a day. Teach a man to fish and you feed him for a lifetime." - Lao Tzu
"God helps those who help themselves." - Ben Franklin
"Search is your best friend." - Worldfallz

cog.rusty’s picture

As Worldfallz said, there is a D6 patch for nodereferrer.

I mentioned viewfield as a way to insert into a node field a view (a list of all nodes which satisfy some condition, created with the views module), in case you needed that.

To have reference/referrers automatically linked in a block, you could use some php inside the block to check if it is a node view or not, load the node object if it is, and display the content of the fields you want. But recently I saw the http://drupal.org/project/cck_blocks module which might be able to do it easier.

no2e’s picture

As Worldfallz said, there is a D6 patch for nodereferrer.

I don't want to build the needed "core" functionality for my Drupal site on patches, so I'd have to wait for a release.

I managed to create a Views, that displays the node reference referrers in a list - with the help of this little instruction (thanks for the tip, Worldfallz)

Now, I got 2 "problems":

1) Would I have to create this for every node reference relationship? I want to provide a useful title for the referrer lists.

2) Now I think, it does not feel "right" to provide this as block. The referrer lists should be part of the node itself. Is Viewfield the way to go, or is there an other solution?

But recently I saw the http://drupal.org/project/cck_blocks module which might be able to do it easier.

An CCK Blocks issue makes it unusable for me, unfortunately.

WorldFallz’s picture

i haven't worked throught it yet, but i was planning to do this with a viewfield. And i would think you would need to create one for each different node reference field.

===
"Give a man a fish and you feed him for a day. Teach a man to fish and you feed him for a lifetime." - Lao Tzu
"God helps those who help themselves." - Ben Franklin
"Search is your best friend." - Worldfallz