2010-07-08 40 views
1

我正在餐館目錄網站上工作。我有餐廳的詳細信息頁面,我需要實現GMAP,幻燈片等,所以我需要一個特定的page.tpl和主題開發者給人的信息如下Drupal 6:主題開發人員提供了太常見的候選人名稱,沒有具體的

alt text http://img.skitch.com/20100708-b9af98fb8mpckai5wfpmktxwgf.jpg

但網站的公司簡介,聯繫我們,常見問題解答等頁面具有與page-node.tpl.php相同的候選名稱。所以我不能使用:/

爲什麼心不是有什麼樣頁面restaurant.tpl.php

我怎麼能解決這個問題?欣賞有助於這麼多!非常感謝!


[按]

<script type="text/javascript"> 
    window.onload = function() { 
     load(); 
    } 
    window.onunload = function() { 
     GUnload(); 
    } 
    </script>' 

回答

1

我們有一個類似的問題yesterday

drupal的邏輯是,該頁面應該是頁面的所有類型的頁面和內容類型的共同元素。 Page是頂級模板,如果您嘗試更改每種內容類型,則可能沒有正確分隔主題。您有節點主題來區分不同類型的節點。格式爲節點 - [節點類型] .tpl.php

您是否創建了內容類型「restaurant」?如果你這樣做,你可能會發現像gmap這樣的模塊會幫助你。

+0

謝謝你給傑里米時間!我已經有node-restaurant.tpl.php來編輯內容部分,但我也需要page.tpl,因爲我需要添加一些js到 2010-07-08 11:09:49

+0

你能詳細說明你需要做什麼嗎?問題,例如添加js可以用drupal_add_js而不是模板來完成。 – 2010-07-08 11:27:11

+0

如果您不需要進行重*改動,則無需觸摸page.tpl。大部分這些東西都有功能,例如添加javascript,使用http://api.drupal.org/api/function/drupal_add_js/6 – DrColossos 2010-07-08 11:27:32

2

如果您只是想添加Javascript代碼,您可以使用大多數主題提供的CSS類。例如,禪會給你

<body class="not-front logged-in node-type-restaurant two-sidebars page-restaurant">...</body> 

,你可以使用jQuery作爲檢測

$(document).ready() { $('.page-restaurant').Myfunction(); } 

關於幻燈片,我已經受夠了Views Slideshow好運氣,它提供了一個塊你可以放置在地區在您的頁面上。

1

將以下函數添加到您的template.php文件中。將「主題名稱」替換爲主題的實際名稱。這假設你已經爲「餐廳」創建了一個單獨的內容類型 - 我收集你從之前的答案和評論。一旦您上傳編輯過的template.php文件並刷新主題註冊表,您將可以選擇使用page-restaurant.tpl.php。

function themename_preprocess(&$vars, $hook) { 
    switch ($hook){ 
     case 'page': 
      // Add a content-type page template in second to last. 
      if ('node' == arg(0)) { 
       $node_template = array_pop($vars['template_files']); 
       $vars['template_files'][] = 'page-' . $vars['node']->type; 
       $vars['template_files'][] = $node_template; 
      } 
      break; 

    } 
    return $vars; 
} 
相關問題