2011-04-21 62 views
0

我正在寻找一个如何在drupal 6中为单个网址运行自定义页面模板的例子,如果有预处理功能也不错。模板每个网址

回答

0

Humm,您可能必须使用Module Panels3并创建登录页面。你可以覆盖该页面的每个元素(甚至外部内容区域)

2

我在最近的Drupal 6项目中使用了下面的代码;它需要输入template.php文件,该文件驻留在主题文件夹的根目录中。只需将您创建的模板页面放到主题文件夹的根目录下,然后关闭。 {:¬)

您可能已经在template.php文件中指定了此功能;在这种情况下,你可能不得不重构来添加这个。下面是功能全面:

function yourThemeName_preprocess_page(&$vars) { 

    if (isset($vars['node'])) { 

     $node = $vars['node']; 
     $vars['template_files'] = array(); 

     switch ($node->nid) { 

      case '17': /* to override a specific node ID */ 
       $vars['template_files'][] = 'page-my-page-name'; 
       break; 
      default: /* to override a content type */ 
       switch ($node->type) { 

        case 'page': 
         $vars['template_files'][] = 'page-normal-page'; 
         break; 
        case 'my_own_content_type': 
         $vars['template_files'][] = 'page-my-own-content-type'; 
         break; 
        default: 
         /* take no action */ 
       } 
     } 
    } 
} 

在那里我已经指定'page-my-page-name',请注意,Drupal的(或者说,PHPTemplate)会自动添加'.tpl.php'部分。

这使您能够首先通过节点ID进行覆盖(更具体),然后更一般地通过内容类型(例如,故事或页面。要添加更多覆盖项,只需在正确的位置添加更多个案。

希望这会有所帮助。