以前做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中的内容覆蓋。
评论5
補充:這個辦法不正規,另外可在模塊中實現
上面說的這個辦法其實不正規,定制首頁的内容不應該直接放在page--front.tpl.php中,這個文件應該是起到theme,也就是改主題界面用的。
我另外使用了一個辦法,就是做一個簡單的模塊(module),在這裡面注冊一個hook_menu路徑,例如做一個home的路徑,把所要的代碼複制進去就可以,然後再在Site information中把首頁設置成home就可以了。
這個。
這個方法沒有試過,對做module還不熟悉,先用page--front.tpl.php做。。。Drupal剛接觸不容易,我也是一點一點熟悉過來的
Drupal剛接觸不容易,我也是一點一點熟悉過來的,開始可以用page--front.tpl.php來做首頁,不過逐漸熟悉Drupal的結構後,還是用module更規範,做過一遍後也不算複雜
如果是多語言的,首頁主題怎麼命名?
page--front.tpl.php
如果是多語言的,那英文版的首頁主題怎麼命名?
多語言可以共用一個首頁模闆文件
我沒有在多語言網站中使用page--front.tpl.php這種模式來搭建首頁,但有個建議你可以考慮一下:
各種語言版本都可以隻用page--front.tpl.php這一個模闆來做首頁,在這個模闆中來判斷當前語言,然後呈現出不同語言版本的内容來。
沒有實際做過,但感覺這個辦法可行,僅供參考啊。