Assigning Template for Parts of Pages I'm new to drupal and coding so I'll try and explain best I can the issue I'm having.

I'm on Drupal 7, using Zen Sub Theme

I have a site which is essentially a database of gadgets.  'gadget' is a custom content type with custom fields such as 'year of manufacture', 'manufacturer', 'image' and 'description'.

I work out of 'page.tpl.php' to control the look of my homepage. I find this to be very easy to use, as far as creating/formatting regions.  Essentially formatting the building blocks of my template.  On the homepage I have list of links (created via views) to the most recent gadgets.  When I click on a gadget it takes me to the 'Gadget' page displaying all the fields I mentioned above.

Now to the issue I'm having:

I can't figure out for the sake of me how I can have a tpl file for the custom content type (ie. the gadget).  I have so far formatted the page with CSS but it would be nice if I can have (I prefer to work through editing the tpl files) a TPL file for the page elements (ie. header, footer) and a TPL file for the region its showing my gadget node.

I've attached a picture of what I'm trying to do:



The home page templating

http://imageshack.us/photo/my-images/402/homepagem.png/



The gadget page templating

http://imageshack.us/photo/my-images/560/pageinside.png/



What I've tried:

1) Formatting the gadget page with CSS : This works fine, but I would prefer to have control over tpl file.

2) In the templates folder I added node--gadget.tpl.php and cleared cache (doesnt work).  node.tpl.php on the other hand does get pulled up by static pages in the site (like the 'about us' page) but not on custom content type (gadget).  

3) I added the code below to confirm that content '[type] => gadget':

    &lt;?php
function gadgettheme_preprocess_page(&amp;$vars) {
  if (arg(0) == 'taxonomy' &amp;&amp; arg(1) == 'term' &amp;&amp; is_numeric(arg(2))) {
    $tid = arg(2);
    $vid = db_query("SELECT vid FROM {taxonomy_term_data} WHERE tid = :tid", array(':tid' =&gt; $tid))-&gt;fetchField();
    $vars['theme_hook_suggestions'][] = 'page__vocabulary__' . $vid;
  }
}
?&gt;


4) Finally I put in the code below and create a page--gadget.tpl.php.  This worked but the problem is its page--gadget controls the whole content which means I would need to copy over the template from the page.tpl.php to control the header and footer.  I want these elements to be controlled solely from page.tpl.php and have another node--gadget.tpl.php.

function gadgettheme_preprocess_page(&amp;$vars) {
  if (isset($vars['node']-&gt;type)) {
    $vars['theme_hook_suggestions'][] = 'page__' . $vars['node']-&gt;type;
  }
}

?&gt;


Your help is appreciated in advance,

Cheers,
I've managed to solve this issue.

I was using display suite to format my node and without realising I was using the Display Suite's theming file.  Once I renamed my node--gadget.tpl.php to the Display Suites theme name ds-1col--node--gadget.tpl.php it worked!

Cheers,