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 <[email protected]> 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
