Easy-to-follow video tutorials help you learn software, creative, and business skills.Become a member
One interesting feature of the CCK module is that it provides ways for you to link from one node to another, which will lead to some very interesting uses of this data. Before we begin, I should warn you that we are starting to get into some advanced concepts. If you have trouble later, I recommend watching both this video and one earlier in the series called "Planning your Data Structure." We have added a few more records to the database, so we'll have records to link. If you are following along and would like to have the same records in your database as you see here, you have two options. You can either stop the video now and enter these records, or if you received this video on disk or have a premium subscription to lynda.com, you can import the Exercise Files for this video.
The first thing that we need to do is to turn on the node reference section of CCK. We do that as always by going to Administer, Site building, and Modules, and then scroll down into the CCK area. The one that we want is called Node Reference. There is also one called User Reference, which we are actually not going to use, but it works very similarly except with users instead of nodes. We scroll to the very bottom, and click Save. The next thing that we want to do is we want to connect the people who are in our database. We are going to say who is married to who else, and create links back and forth between the two people. To do that we have to go back to our Person Content type that we created elsewhere in the series. To do so, go to Administer, Content management, and Content types. And then manage fields within that Person Content type.
We are going to add another field, which is called Married to. And again, we have to give a machine name to that, something the machine can understand all lowercase, married_to. And then select the type of data we are going to store. We see a new addition to this pop-up menu, Node reference, select it. And then we'll have a choice of which kind of selection we want. In other words, will people be able to select from a list of nodes, or checking boxes, or auto completing a text field where they start to type in the name of the person that they want to say is married to another person? We are going to do select list. But I'll talk a little bit about some of the security issues of how you make this selection. We'll go to the bottom, and click Save.
As always when you add a CCK field, there are options that are specific to the type of CCK field you have added. In this case, the most important one is what type of content can be referenced. A person in this case, can only link to another person so that's pretty clear. Later on, we are going to have people linking to households. So you will see it gets more complicated as we go. We'll save the field settings, and as always we'll just move that up a bit, so it's easier to enter the information. And click on Save at the bottom.
The next thing that we'll do is we'll go back to our homepage and we'll actually start linking people up who are married. We'll start at the beginning with Dani, and when we edit her node, you will notice we now have this option Married to. In Dani's case, she is married to Eli. So we select this pop-up, and go down to Eli de Nada. And scroll to the bottom, and Save. You can see that it actually automatically creates a link to Eli de Nada. If we click there, we could then edit his record and say that he is married to Dani de Nada, and Save.
There are two things to notice about what we just did. The first is that we added a reference from one piece of data, in this case a person node, to another. This whole idea of looking from one node to another becomes important later on when we start to build relationships between them which allow us to see further into these nodes. You will learn how to do that in the videos, extending views with relationships and going further with relationships. Let's go back and link all of our other married couples. I am just going to go back to my homepage and scroll down. I know that Dave is married to Sonya; Sonya is married to Dave obviously, and so on. You can setup the relationships as you like, I'll do the other relationships off screen once we are done. For the record, I also have Francisco married to Gracias.
The second thing I wanted to mention was about the security issues that this exposes. Anybody who edits these nodes can see a list of all the users in this site, which might not be what you want. In this case we are not terribly worried about it but there are several ways to solve the problem. For example, you can limit access to creating these nodes to trusted parties and only let trusted parties edit them as well. Further discussions about security are beyond the scope of this course, but it should never be far from you mind. If you building a site where security is more important, I'd recommend discussing your particular issue on the forums in the drupal.org website.
Now we have linked everybody. There is just one more thing I'm going to do which is to clean up the screen a little bit. You see how we have Date of birth inline with the actual date. I'm going to do the same thing with Married to. You remember how to do that; we go to Administer, Content management, Content types, and manage fields. Once there, we go to Display fields, and we can make the Married to Inline, and save it. We go back to our front page and there it is. We see it inline. Going back to concepts discussed in the planning your data structure video, this is an example of how Drupal's database is relational and how you can replicate that relational structure in your Drupal site. We start off with Gracias de Nada married to Francisco de Nada, and then we have Francisco married to Gracias but instead of having to type all that out, we just say record three is married to record four, record four is married to record three.
This is actually a super-simplified example of how relational databases work, and in fact we glossed over several matters. But that's okay, because in practice, Drupal handles all that stuff behind the scenes. Instead, the purpose of this video is to show you how you can create relations of your own, a trick that will become handy later on when you start building Views.
Get unlimited access to all courses for just $25/month.Become a member
Access exercise files from a button right under the course name.
Search within course videos and transcripts, and jump right to the results.
Remove icons showing you already watched videos if you want to start over.
Make the video wide, narrow, full-screen, or pop the player out of the page into its own window.
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.