Change the way a node is themed based on an argument added to a URL I am currently trying to eliminate my need for the panels module from a site I am working on and don’t have a lot of PHP experience. How would I go about changing the way a node is displayed based on an argument added to a URL? (E.g. http://example.com/node/123/argument.) I already have the node type themed but I need to display the node in a different form based on the argument. Thanks in advanced for your help.
one solution is to use Views. Create views page, for path add node/%/argument, choose Content on Format Show and View mode you want. See Entity view mode module for ability to add more View modes per entity. Add one to Article named "Custom view" for example. Add next code in template.php (change THEME to your maschine theme name). 

function THEME_preprocess_node(&amp;$variables) {
  $variables['theme_hook_suggestions'][] = 'node__' . $variables['view_mode'];
}


Then copy node.tpl.php to node--custom-view.tpl.php in current the dir - if your already add new view mode with name "Custom view" and edit node view template as you want.

To have node--Content-Type--View-Mode.tpl.php like node--article--custom-view.tpl.php the above code must be

function THEME_preprocess_node(&amp;$variables) {
  $variables['theme_hook_suggestions'][] = 'node__' . $variables['type'] . '__' . $variables['view_mode'];
}


EDIT:

Programmaticaly solution with code in custom module:

function HOOK_menu() {
   $items['node/%/argument'] = array(
    'page callback' =&gt; 'node_custom_view',
    'page arguments' =&gt; array(1, 2),
    'access arguments' =&gt; array('access content'), 
    'type' =&gt; MENU_CALLBACK,
  );

  return $items;
}

function node_custom_view($arg1, $arg2) {
  $content = '';

  if (is_numeric($arg1) &amp;&amp; $arg2 == 'argument') {
    $node = node_load($arg1, $vid = NULL, $reset = FALSE);
    $content = drupal_render(node_view($node, $view_mode = 'custom_view', $langcode = NULL));
  }

  return $content;
}


"custom_view" is our custom display for node created by Entity view mode module, then we enable this for content type from Manage display