Hi Wang,

What kind of content are you trying to customize?  If it's a node, you can do something like node-my_node_type.tpl.php.  This would change the theme around the various node types, but use a common page.tpl.php file to supply the header, menu, footer, etc.

You can override all of the *.tpl.php files like block, page, comment, etc in slightly different ways.  Which is generally, I think, how you would do something like this dependent on the kind of content you want to theme.  As a specific example, you can just create page-news.tpl.php for a unique ?q=news theme.  (There's a gotcha though, so just make sure it's the original path, you will need to adjust if you use path aliasing like path_auto.)

Cheers,
Tim

On Wed, Jan 6, 2010 at 6:50 AM, Wang Zi Feng <frank.zifeng@gmail.com> wrote:
Hi,

There is a rookie question.

I use template_preprocess_page function in a module to specify a template file (news.tpl.php) based on the hook_menu path (?q=news), utilizing the news.tpl.php every time click on ?q=news, it works fine.

But I have to copy the footer&header from page.tpl.php to the new template file (news.tpl.php) to print them, I wonder if there is an approach to inherit automatically the footer and header section?

here is the code

function news_menu(){
     $items['news'] = array(
        'title' => 'News',
        'page callback' => 'news_page_default',
        'access callback'=>TRUE,
        'type' => MENU_CALLBACK,
        );

     return $items;
}

function template_preprocess_page(&$variables){

    if(drupal_strtolower(arg(0))=='news'){
    $variables['template_file']='news' ;
    }
   
}

Thanks

Wang




--
Tim Loudon
(781) 686-6096