Display a node form in default theme for admin I think this question has been asked many times, but I am sorry not to find a working solution. May be I am doing something wrong. I want to display a specific node form in my default custom theme and not in the admin theme when the administrator logs in. However, other node forms should continue to display in the admin theme. Hence the "Use the administration theme when editing or creating content " should be checked.

I have tried the themekey module. I came across that there's something called themekey compatibility by which this can be achieved. But I fail to find an example.

I want the default theme for a specific content type. Also I tried the followings: hook_custom_theme &amp; hook_theme_init as described in How to change the theme for a particular admin page in drupal?

Thanks
There is a hook that you can use to set which pages use the admin theme and which don't.

The hook is hook_admin_paths().

The node module uses this hook to provide the functionaity where you can set node forms to use the admin theme (see node_admin_paths()).

If you wanted to set certain paths to use the admin them (or not use it) you could implement that hook, however if you want to change admin paths that another module has already defined you need to use hook_admin_paths_alter().

In this case the node module defines a wild card path for all node add pages like this 'node/add/*' =&gt; TRUE

Since you only care about a specific node type you can ignore that and do this:

/**
 * Implements hook_admin_paths().
 */
function MODULENAME_admin_paths() {
  // We have configured the site to use the admin theme for node forms
  // however we want the article content type to use the default theme
  // instead of the admin theme.
  $paths = array(
    'node/add/article' =&gt; FALSE,
  );
  return $paths;
}


As you can see in path_is_admin(), where the check is done to see if the current page is an admin page, for a page to be an admin page it must have a matching path that is TRUE and also not have one that is FALSE.
So by adding this FALSE in for this specific page you are overriding the wildcard node/add/* from the node module.

The problem that you then have is the node edit page (if you also want that to use the same theme as the node add form), because the URL for the node edit page has nothing in it that relates to the content type so you can't override node edit pages based on their type.

You could get the node IDs of all nodes of your specific type and add each individual node edit path however if you have a large number of nodes that is not going to be ideal.