Re-using node content within another node

firesidelibrarian's picture

(Greetings fellow Drupal folks, this is Todd who used to attend this group's meetings.)

I am creating a website for a weekly web-based radio program and have run into the limits of my knowledge of Drupal. I have created a content type called 'Episode' where I enter all the information and upload the audio file. But my friend will rebroadcast an episode if it is popular or when he takes a week off. I have just assumed he would create a new Episode with the same content. Unfortunately, this creates duplicate entries when searching the site, and spreads comments and 'Star Ratings' across multiple nodes.

I would like to create a view or content type that refers to a single episode multiple times by the actual broadcast date, as in this example from the current/old site. You can see the interview with Ian Holzman is repeated two weeks in a row, but clicking either interview takes one to the same content.

Do I have to create a new content type (e.g. 'Broadcast') that can contain this information? If so, how do I pull-in the information from the existing interview Episode?

Or do I need to add one or more specific modules to make this possible?

If I can learn how to do this, I think I can create the View necessary to create the same kind of table display.

Thanks in advance for any help you can provide!

Comments

I think the simplest approach

webchuck's picture

I think the simplest approach may be changing your "air date" field to allow for multiple dates. So you could have one episode but enter in as many air dates as you need. Then your views could be based on the air date and the episode would show up as many times as it was aired. Hope that makes sense...

Chuck

Thanks and a follow up

firesidelibrarian's picture

Chuck,
Thanks much for the idea!
If I do this, how do I create a table view that will list all the episodes, re-broadcasts included, in reverse chronological order, with the correct date showing? I managed to create the table view but when you look at the last 3 on this page, they are supposed to be on 3 different dates, the 21st, 22nd and 23rd. It keeps showing the 21st for all 3. How do I adjust this? I've played with settings in the field and the view, but cannot make it work right.
Thanks again for the help!
TV

Simple is better

firesidelibrarian's picture

Chuck,
Thanks much for the idea!
If I do this, how do I create a table view that will list all the episodes, re-broadcasts included, in reverse chronological order? I know how to create views, but getting a single 'Episode' to display more than once based on a repeating field is something I don't understand how to do.
Thanks again for the help!
TV

Unfortunately, this is not

webchuck's picture

Unfortunately, this is not something that can be configured blindly. You will most likely need to give drupal admin access to someone to get the right configuration. There may be someone in the group here who could volunteer some time (unfortunately, that's not me right now), or you may need to pay someone to help get this set up correctly.

Figured it out

firesidelibrarian's picture

I created a new field called Broadcast Date (I needed the Air Date to continue its function), with multiple/unlimited values, and added it to my Episode content type. Then I created a new view, table layout, and added this field to the view with a few others. In creating the field, I set it to show 1 value. The example node (Episode) I created had 3 broadcast dates.

Three separate entries displayed in the table, but initially, they were all showing only the first value in Broadcast Date, and I was unable to adjust it to show the others. Then for no reason I can detect, each separate entry started showing different dates. Weird...

Anyway, thanks much for the advice so generously given. It got me started in the right direction!

success

pandaPowder's picture

glad you got it working!

untested idea

pandaPowder's picture

Fireside,

I had an idea that I came up with in about 10 minutes after reading your post so I have no idea if it will work or not but maybe it will spark something for you.

You set up an entity to create that relationship or concept of "this episode was broadcast on this date". Maybe you call it Broadcast. The Broadcast entity has a date field and an entity reference field. To broadcast an episode you create a new broadcast entity. You fill in the time and you fill in the episode that you are broadcasting (this way you get multiple listings of the same node..

Then in your view, you pull up a table of all broadcast entities. This is where my theory needs some work, but at the very least you could at least get a list (or table) of all episodes (linked) by broadcast date. In the best case scenario you could use other fields from that referenced entity in your table of Broadcast entities and recreate the example you showed. You might need to use the Relationships feature of views (under advanced on the right) to get access to those drill down fields.

use the excellent Entity Construction Kit: http://drupal.org/project/eck to create your Broadcast entity and of course, you'll likely need Entity Reference: http://drupal.org/project/entityreference no matter how you do it. Good luck. If you're hiring contractors :) I may be able to spare a couple of hours in the evenings to help you set it up.

Thanks for the new idea!

firesidelibrarian's picture

Thanks for providing me with this new idea, and some new tools to learn! I look forward to exploring it in detail. That's the fun thing about Drupal: always something new to learn.

Greet everyone in the DUG for me, and thanks again!