您在這裡

Drupal中用page--front.tpl.php來定制首頁

James Qi 在 2012年3月19日 - 13:57 發表

  以前做Drupal首頁一般就是新建一個普通頁面,讓在Site information中設置為首頁就可以。不過考慮到我們現在有些系列網站包含幾十個子網站,首頁的模式基本相同,如果有些地方需要修改,就需要修改幾十個首頁,有些麻煩。
  這次在新建網站的時候,就考慮使用模闆的辦法來統一,Drupal 7中沒有node--front.tpl.php,就用page--front.tpl.php來做。
  修改的辦法很簡單,複制drupal_root/themes/bartik中的page.tpl.php到drupal_root/sites/all/themes/bartik中,修改其中内容為需要的php代碼後,改名為page--front.tpl.php保存就可以了。
  這樣就不需要在網站中新建一個頁面,在Site information中也可以空着首頁的設置,因為任何設置都會被page--front.tpl.php中的内容覆蓋。

自由标簽:

回應

上面說的這個辦法其實不正規,定制首頁的内容不應該直接放在page--front.tpl.php中,這個文件應該是起到theme,也就是改主題界面用的。
我另外使用了一個辦法,就是做一個簡單的模塊(module),在這裡面注冊一個hook_menu路徑,例如做一個home的路徑,把所要的代碼複制進去就可以,然後再在Site information中把首頁設置成home就可以了。

James Qi / 祁勁松

這個方法沒有試過,對做module還不熟悉,先用page--front.tpl.php做。。。

我沒有在多語言網站中使用page--front.tpl.php這種模式來搭建首頁,但有個建議你可以考慮一下:
各種語言版本都可以隻用page--front.tpl.php這一個模闆來做首頁,在這個模闆中來判斷當前語言,然後呈現出不同語言版本的内容來。
沒有實際做過,但感覺這個辦法可行,僅供參考啊。

James Qi / 祁勁松

發表新回應

Plain text

  • 不允許使用 HTML 標籤。
  • 自動將網址與電子郵件地址轉變為連結。
  • 自動斷行和分段。