Easy-to-follow video tutorials help you learn software, creative, and business skills.Become a member
Now we get to the fun part, actually using CCK to create a new Content type. We're going to build the one we discussed in the introduction to CCK with two custom fields for a person's first and last name. It's a very simple example and only uses the Text field type, but CCK can, and is used to create much more complex Content types to hold anything from catalog items, to scientific data, to planning calendar dates, to resource management entries. Well, you get the idea, but we'll start small.
CCK doesn't have it's own administrative page. Instead, it add features to the Content types administration. We'll go there now, by going to Administer> Content > Content types. I want to mention, whenever we go to an administrative page, take a look at the URL. In this case, it's /admin/content/types. Later on in the course to save time, we'll actually just type that into the URL, so that we go there much quicker than all of that clicking. You will notice something new on this page that wasn't there before we installed CCK, and that's this manage fields link. We'll get back to that in a minute. But first, we're going to add a new content type. The two parts that we must fill in are the Name - that is the human-readable part, and the Type - which is a computer-readable part.
For the Name, we're going to say it Person. For the Type, I'm going to type in person again, but all in lowercase. The machine-readable type must be in lowercase, and have only letters, numbers, and underscores, so keep it very simple. I usually just give it the same thing as the name, but in lowercase and with underscores for spaces. For our Description, just to make it easy. I'm going to put, "A member of the family or a friend or a pet". Scrolling down further, we'll take a look at some of the defaults in this Content type. We leave the Title as the Title, the Body will also be labeled as Body, and we don't really need any submission guidelines. In our Workflow settings, we'll leave it so that every post that you make of this type is by default promoted to the front page and published.
And finally, we don't want people making comments on other people's nodes, so we're just going to disable commenting. Scroll to the bottom, and Save content type. That brings us back to the page that we saw earlier. We'll now create a couple of simple fields for this Content type to hold the person's first and last names. Adding a field is a two part process. First, you say what kind of field you want to add, in our case Text. Then you specify that field's attributes. That'll be clearer once we get started, but the important part to know is that you can't change your fields type once it's created, only it's attributes. So you can't change a Text field to a Number field, for example. And, if you later delete a field, you also delete all of its contents, so good planning at the beginning can make a big difference.
To add our fields, we go over to the manage fields link, and down to this area, Add. We're going to give them a first and last name, but I usually prefer Personal name, which will be personal_ name. Again, this is a machine-readable, whereas the first one was a human- readable version. The type of data to store, well, we only turned on the Text part, so we only have Text to choose. And here we can either have a single row or multiple rows. Since a name is usually just a small piece of information, we'll just keep it as a simple Text field, and then click Save.
On the rest of the page, we're actually not going to make any changes now. However, we'll take a closer look at some of the options in the video, Exploring CCK's Other Features. For now, however, we'll just scroll to the bottom, and say Save field. We'll then do the same thing for family name. The Label is Family name. The field is field_family_name. Text, Text field, Save, scroll to the bottom again, and Save. Good, we've now created our Person Content type with two custom fields. Up until now, we've done everything as the superuser, that is, the user that was created when we first installed Drupal, who we named admin.
In the real world though, you'll often find yourself creating, editing and viewing content as something other than the superuser, whether as someone who is logged into the site, that is, as an authenticated user, or as a casual visitor, that is, as an anonymous user. It's a good idea to test your site both as an authenticated user and an anonymous user before you launch, because as the superuser you see a lot more than they do, and you might miss errors in the interface or in the permission settings. In another video, we created a user named Tom. We'll log in as Tom in just a moment so that we can create that new person, but first we have to make sure that an authenticated user - that person Tom - is able to create nodes of this Content type 'Person'. To do that, we go to User management in our admin interface, and then go to Permissions. Once again, if you want to get there quickly, take a look at what's here in the browser bar so that you can just type it in quickly, as we'll do later in the course.
If we scroll down a bit, we see in the node module, there are some new entries because we created that new Content type. One of them is create person content. I'm going to give authenticated users permission to create person type. I won't let them delete it, and I won't let them edit it. These are just my decisions. Of course, you'll make whatever decisions are right for your site. At the bottom, say save permissions. And then I'm going to log out as admin. Before you do this, I just want to remind you, if you're using the exercise files that came with your lynda.com disc, or that you got from being a lynda.com premium member, the password is booth for the admin user. But here we're going to Log out. Log in again as tom, and you might remember when we created it earlier in the course, it was Password: password, and Log in.
Good. Now if we go to Create content, we only have the choice of creating a Person content because that's the only one we turned on in Permissions. Let's do it though. Now at the top of this form, we have this Title and Body, which really doesn't make that much sense for us because all that we want to enter is the Personal name and Family name, which you see here at the bottom of the form. Let's try doing that and leaving the other stuff empty. I'm going to say Tom de Nada. That's the name of the family that we're going to create this site around. And click on Save. But the Title field is required. You can tell that because there is a little orange asterisk next to Title.
I'm just going to type in Title here right now. Later on you'll learn how to avoid entering that Title field in the video Hiding and Automating Unnecessary Fields. You'll also see how to get rid of that whole Body field which doesn't make any sense right now. So we have our required Title, we don't need a Body. Scroll to the bottom, and we have Tom de Nada, and Save. And there you go. You've now created a new Content type and a node of that new Content type. Before we go, I'm going to Log out as tom, and log back in as admin, so it's Username: admin, Password: booth. And we're back. And you can see there is the node. So we've seen how to create custom Content types containing plain text.
This is only the beginning though. Those fields can also contain data formatted as dates for later use in calendars, locations to be placed on maps, or a wide range of other formats. We'll show you how to do that in another video, Exploring CCK Field Types.
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.