How do I add fields to a specific node? I want to create a Basic page that, in addition to its title and body, has a list of other nodes. The list of other nodes has to be entirely administered through the admin. However, I don't want to add the other node field onto all Basic pages, as it only applies to this one specific case. How do I do that?

To clarify, I'm asking about the backend portion of this. How do I get it so that, when I edit a certain node, only specific fields show up in the admin?
There are two main ways of doing this: You can create a second content type which is the same as the Basic Page content type except with the additional fields that you require, or you can just add those fields to the Basic Page content type and only fill them out on the single node you want them to appear on.

As for how to show a list of nodes on another node, I would highly recommend the Entity Reference module. This allows you to add a field that is just stored as a reference to another node.



Original answer (I am leaving this in because it is another way to accomplish a similar outcome):

Using Views you can create the list of nodes that you would like to display on the page. The new version of views makes it super easy to do that. From there you have a couple options, depending your level of skill with theming and how much control you need to have over where the list of nodes displays:


A Block - Create a block display for your view. Place the block in the same region as the main content block.
node--NODEID.tpl.php - You could add a template suggestion to your theme to override the specific node that you want to add the list to. To do that you would need to:


Create a node--NODEID.tpl.php file, replacing the NODEID with the nid of the node you want your list of nodes to show up on.
Embed your view in the node template using the following code:

&lt;?php print views_embed_view('MY_VIEW', 'MY_DISPLAY', $node-&gt;nid); ?&gt;


Where MY_VIEW is the machine name of the view you created and MY_DISPLAY is either "default" or the machine name of a specific display in your view.

Here is an example: http://api.drupal.org/api/views/views.module/function/views_embed_view/7#comment-32858