Display different fields based on a URL parameter I have a content type called section with 5 custom fields, and I need to display each field as a different page, e.g. section/1/fieldA, section/2/fieldB.

I would like to override node.tpl.php, and output the desired field based on the third parameter (fieldA, fieldB, ...).

How can this be done? Do I need to create a custom module or can be done via theming?

What should I do if I wanted to replace the node ID with a string?
Use a custom module. Implement hook_menu to declare a page handler for your path pattern that return the value of field_view_field().

function MODULE_menu() {
  $items = array();
  $items['section/%node/%'] = array(
    'title callback' =&gt; 'node_page_title',
    'title arguments' =&gt; array(1),
    'page callback' =&gt; 'MODULE_node_field_page_view',
    'page arguments' =&gt; array(1, 2),
    'access callback' =&gt; 'node_access',
    'access arguments' =&gt; array('view', 1),
  );
  return $items;
}

function MODULE_node_field_page_view($node, $field_name) {
  if ($node-&gt;type !== 'section' || !field_get_items('node', $node, $field_name)) {
    drupal_not_found();
  }
  else {
    return field_view_field('node', $node, $field_name)
  }
}


Then use alias and pathauto to use path like section/{node-title}/{field_name} instead of numeric node id in URL.