2011-04-21 47 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進行覆蓋(更具體),然後更一般地通過內容類型(例如,故事或頁面。要添加更多覆蓋項,只需在正確的位置添加更多個案。

希望這會有所幫助。