Easy-to-follow video tutorials help you learn software, creative, and business skills.Become a member

Going further with relationships

From: Drupal 6: Online Presentation of Data

Video: Going further with relationships

We already covered the concept of relationships and gave one of their most basic applications. Now we're going to actually put them to use. We set up this fictional family, the De Nadas. Each member of the family is described in a node of the content type Person. I've gone ahead and set up another content type called Event. And I've added a few events for them to attend. I've also gone back and edited the content type Person so that they can specify which events they're attending. You can set up these events yourself or import the exercise files. Then we'll use Views to show who's planning to attend each event.

Going further with relationships

We already covered the concept of relationships and gave one of their most basic applications. Now we're going to actually put them to use. We set up this fictional family, the De Nadas. Each member of the family is described in a node of the content type Person. I've gone ahead and set up another content type called Event. And I've added a few events for them to attend. I've also gone back and edited the content type Person so that they can specify which events they're attending. You can set up these events yourself or import the exercise files. Then we'll use Views to show who's planning to attend each event.

Very briefly, here's how I set it up. I created an Event content type. To see that, go to Administer > Content management and Content types. Here's that event content type. I added only one field, which is Date of event. That Date of event has an optional two-field, i.e., an event could be for one day or it could be for many days. I'm letting people name dates as far forward as 10 years. I'm only showing the Year, Month and Day. Obviously, you could also show the Hour and Minute that an event starts, but I'm keeping it simple. I click on Save field settings to get back to my previous screen.

The other content type that I affected was the Person content type. If I go there and click on Manage fields, we see that we now have an Event attending field. That's a node reference showing nodes of the event content type as checkboxes. You can see how that works, if you go to anyone of these people and edit them. Scroll down to that field of events attending and you see the checkboxes. These are three events that I already set up as nodes. Terrific! We've set up our site and now I can show how you to use Views to list out who is going to what events. To do so, scroll up to the top and click Administer, then Site building, and then Views.

Now we start to get into the mind- blowing part of relationships. We want to set up a list of events, showing under each everyone who is going to attend them. The opposite version would be a list of people showing which events they planned to attend. Very often when you first start setting up relationships, you'll get these two mixed up. Try not to get too upset about it, because remember, you can always go back and fix it. You're not creating or destroying any data, only changing the way that it's presented to the user. So we've gone to our Views page and we want to add a view that's called events. First, we'll type in events. That's the machine-readable version of the name, so all lowercase. The description will be Events, with a capital E.

It's View of type Node. So we'll leave it as it is and scroll to the bottom and click Next. As usual, we want to add some filters. Make sure that we're showing only nodes that have been published and that are of the content type Person. So I click Add, scroll down, go to my Node Group as usual. Scroll down until I see Node: Published, scroll down a little further to Node: Type. We've done this so many times, really, by now you should be an old hand at filtering out your nodes. If you want it, Yes to be Published and of the Type Person, and Update. As usual, I'm also going to add the Node: Title. I always do this when I create a view, so I can see exactly what I'm working with.

So I scroll back up, add the view, Group, Node, scroll down, well until I see Node: Title. Add it, scroll up a little bit. As usual, I'll link it to its node. We're ultimately going to set up a table. So I'll leave the Label here. Remember the labels show up as the sortable header on tables. Then I click on Update, good. So now we see the first ten people in our database. Another thing I like to do is to increase the number of Items to display, so I see everything. Again, the code for that is 0 in this Items to display box, and Update, there. Now we see all of the published people down here.

The last thing I'll do just to make this look a little bit better is change it to a Table Style. Update, make it sortable as usual, scroll down, add our sticky headers and Update. It already looks good. If you need any help setting up this table, see the video about improving view appearance with Grid, List and Table formatting. Now it's time to do the magic, i.e., to add the relationship to events. You remember how to do that from the other video we had about relationship in this series. Scroll up to the top, add a relationship, and since we want it to be between people and events, we need to add the part that relates to events.

In our case, that's this content field, Event attending. Click on Add and we'll leave it as it is. However, keep an eye on this Require this relationship. We'll come back to that and see how it's useful in just a moment. But for now, we'll just click on Update. Good! As before adding a relationship doesn't change the look of the view, but it gives us some additional capabilities. So we've added our relationship. Now, I'm actually going to show the events. To do so, go up to Fields and Add and we're going to show the title of the events, i.e., the flute recital, the Garage sale and so forth. So we scroll down to Node and add as usual, Node: Title.

However, this time we're going to use the relationship Event attending and I'm going to change the Label to Event attending. I'm also going to link it to its node. Click on Update, there. Now we actually have pretty much what we wanted, but there is still a problem. For one thing, it's listing a lot of people who aren't actually attending an event. The other thing is it's listing many people multiple times. It shows Eli only time because he's going to one event, but look at Dave. He's listed twice, because he's going to two and Dani is going to three. We're going to fix these one at a time. First, we'll get rid of all of these people who aren't going to any events. We do that with that checkbox that I skipped over a minute ago, Require this relationship.

To make the change, go up to the Relationship and click on it to edit it. Then scroll down and Require this relationship, and click Update. There, that got rid of everybody who is not attending an event. Since they don't have the relationship they just fall out. The next thing is to group this by event. We can do that by changing the Table Style options. We scroll up to the top. You remember this little gear lets us set the options. Scroll down a bit. Change the Grouping field to Event attending and click on Update. There, and now we actually have exactly what we wanted.

For each event, we can see what the event is and, in fact, who is attending it. However, we now have redundant information as well. We have the event listed up here and then we have the name with the event again. We don't really actually need to show the name of the event again, do we? So I'm going to remove that field, but there is a little trick here. If I go up here and simply remove that Event attending, that actually gets rid of the grouping field and we'll just go back to having a list of people again. What you have to do instead is click on it and then exclude it from display.

That means that it can still be grouped on, but it won't show up in those individual areas. You'll see what I mean when I go down and click Update. And there we are. As we scroll up, we see the event. We can click on it and go to it. We see all the people attending. That's exactly what we wanted. You could go even further by styling these event listings using CSS, as you learned in the video about altering a Views appearance using CSS. The last thing we want to do as always with our Views is scroll up to the top and click on Save. Otherwise, we could lose all of the work we just did.

There's one last thing that we want to do. We want to make this view available to people as a page. So we'll scroll up to the top of the view, add a page display, give it the path events. Scroll down and save that, and finally, give it a menu item, so that people can go to it quickly. We'll make it a Normal menu item labeled Events and put that in our Primary links at the top of screen, next to people, and click on Update. Finally, once again, we save. There, we see we have Events and we have People.

Let's just take a quick look at it to be sure it looks good, and yes it does. You now have all the knowledge you need to do just about any data manipulation trick that Views is capable of, straight-out-of-the-box. But Views has been so successful that it's inspired the creation of dozens of contributed Drupal models that build on its strength. For the most part, the rest of videos in the series discuss some of the contributed modules that are the most useful for data presentation. Like most Drupal modules, you can download them for free at Drupal.org.

Show transcript

This video is part of

Image for Drupal 6: Online Presentation of Data
Drupal 6: Online Presentation of Data

50 video lessons · 11275 viewers

Tom Geller
Author

 
Expand all | Collapse all
  1. 12m 56s
    1. Welcome
      1m 12s
    2. Reviewing requirements
      3m 35s
    3. Using the exercise files
      3m 11s
    4. Touring examples of data visualization
      4m 58s
  2. 27m 56s
    1. Planning data structure
      8m 26s
    2. Importing and manipulating data
      6m 40s
    3. Looking at Drupal's database
      6m 13s
    4. Deciding whether to store personal data as nodes or users
      6m 37s
  3. 1h 13m
    1. Understanding the Content Construction Kit (CCK)
      4m 57s
    2. Creating new content types with CCK
      7m 26s
    3. Hiding the Body field
      2m 46s
    4. Reflecting CCK field data in the Title field
      7m 28s
    5. Managing CCK field placement
      7m 34s
    6. Exploring CCK's other features
      8m 22s
    7. Using other CCK field types
      3m 25s
    8. Adding date information as a CCK field
      8m 43s
    9. Including images as CCK fields
      10m 23s
    10. Connecting content to existing nodes
      5m 58s
    11. Using taxonomies to categorize and group data
      5m 59s
  4. 53m 54s
    1. Understanding why views are useful
      6m 12s
    2. Using SimpleViews to create basic content views
      5m 49s
    3. Diving into the Views interface
      11m 16s
    4. Adding fields to a view
      7m 12s
    5. Understanding iconic controls in the Views interface
      7m 15s
    6. Surveying the Sort, Filter, and Field options in Views
      5m 40s
    7. Adding view displays as pages, blocks, and RSS feeds
      10m 30s
  5. 43m 34s
    1. Overriding default settings on view displays
      8m 56s
    2. Attaching more information to views
      10m 57s
    3. Improving view appearances with grid, list, and table formatting
      9m 20s
    4. Surveying other basic display settings in Views
      11m 3s
    5. Altering a view's appearance through CSS
      3m 18s
  6. 55m 8s
    1. Importing, exporting, and cloning views
      6m 9s
    2. Controlling access to views
      7m 19s
    3. Learning from built-in views
      5m 52s
    4. Creating views that aren't based on nodes
      10m 6s
    5. Extending views with arguments
      10m 17s
    6. Extending views with relationships
      7m 2s
    7. Going further with relationships
      8m 23s
  7. 46m 40s
    1. Understanding geographic data
      4m 26s
    2. Setting up the Location module
      16m 20s
    3. Entering geographic data with the Location module
      10m 10s
    4. Displaying basic maps with the GMap module
      6m 43s
    5. Integrating the GMap module with Views
      9m 1s
  8. 54m 21s
    1. Exporting data in tabular form
      11m 25s
    2. Planning with the calendar modules
      11m 31s
    3. Using the Charts module and Google Charts
      7m 11s
    4. Graphing data with Open Flash Chart
      4m 50s
    5. Making important data pop out with tag clouds
      7m 46s
    6. Putting it all together in an attractive package
      11m 38s
  9. 36s
    1. Conclusion
      36s

Start learning today

Get unlimited access to all courses for just $25/month.

Become a member
Sometimes @lynda teaches me how to use a program and sometimes Lynda.com changes my life forever. @JosefShutter
@lynda lynda.com is an absolute life saver when it comes to learning todays software. Definitely recommend it! #higherlearning @Michael_Caraway
@lynda The best thing online! Your database of courses is great! To the mark and very helpful. Thanks! @ru22more
Got to create something yesterday I never thought I could do. #thanks @lynda @Ngventurella
I really do love @lynda as a learning platform. Never stop learning and developing, it’s probably our greatest gift as a species! @soundslikedavid
@lynda just subscribed to lynda.com all I can say its brilliant join now trust me @ButchSamurai
@lynda is an awesome resource. The membership is priceless if you take advantage of it. @diabetic_techie
One of the best decision I made this year. Buy a 1yr subscription to @lynda @cybercaptive
guys lynda.com (@lynda) is the best. So far I’ve learned Java, principles of OO programming, and now learning about MS project @lucasmitchell
Signed back up to @lynda dot com. I’ve missed it!! Proper geeking out right now! #timetolearn #geek @JayGodbold
Share a link to this course

What are exercise files?

Exercise files are the same files the author uses in the course. Save time by downloading the author's files instead of setting up your own files, and learn by following along with the instructor.

Can I take this course without the exercise files?

Yes! If you decide you would like the exercise files later, you can upgrade to a premium account any time.

Become a member Download sample files See plans and pricing

Please wait... please wait ...
Upgrade to get access to exercise files.

Exercise files video

How to use exercise files.

Learn by watching, listening, and doing, Exercise files are the same files the author uses in the course, so you can download them and follow along Premium memberships include access to all exercise files in the library.


Exercise files

Exercise files video

How to use exercise files.

For additional information on downloading and using exercise files, watch our instructional video or read the instructions in the FAQ.

This course includes free exercise files, so you can practice while you watch the course. To access all the exercise files in our library, become a Premium Member.

Join now "Already a member? Log in

Are you sure you want to mark all the videos in this course as unwatched?

This will not affect your course history, your reports, or your certificates of completion for this course.


Mark all as unwatched Cancel

Congratulations

You have completed Drupal 6: Online Presentation of Data.

Return to your organization's learning portal to continue training, or close this page.


OK
Become a member to add this course to a playlist

Join today and get unlimited access to the entire library of video courses—and create as many playlists as you like.

Get started

Already a member?

Become a member to like this course.

Join today and get unlimited access to the entire library of video courses.

Get started

Already a member?

Exercise files

Learn by watching, listening, and doing! Exercise files are the same files the author uses in the course, so you can download them and follow along. Exercise files are available with all Premium memberships. Learn more

Get started

Already a Premium member?

Exercise files video

How to use exercise files.

Ask a question

Thanks for contacting us.
You’ll hear from our Customer Service team within 24 hours.

Please enter the text shown below:

The classic layout automatically defaults to the latest Flash Player.

To choose a different player, hold the cursor over your name at the top right of any lynda.com page and choose Site preferencesfrom the dropdown menu.

Continue to classic layout Stay on new layout
Exercise files

Access exercise files from a button right under the course name.

Mark videos as unwatched

Remove icons showing you already watched videos if you want to start over.

Control your viewing experience

Make the video wide, narrow, full-screen, or pop the player out of the page into its own window.

Interactive transcripts

Click on text in the transcript to jump to that spot in the video. As the video plays, the relevant spot in the transcript will be highlighted.

Are you sure you want to delete this note?

No

Your file was successfully uploaded.

Thanks for signing up.

We’ll send you a confirmation email shortly.


Sign up and receive emails about lynda.com and our online training library:

Here’s our privacy policy with more details about how we handle your information.

Keep up with news, tips, and latest courses with emails from lynda.com.

Sign up and receive emails about lynda.com and our online training library:

Here’s our privacy policy with more details about how we handle your information.

   
submit Lightbox submit clicked
Terms and conditions of use

We've updated our terms and conditions (now called terms of service).Go
Review and accept our updated terms of service.