以前做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这一个模板来做首页,在这个模板中来判断当前语言,然后呈现出不同语言版本的内容来。
没有实际做过,但感觉这个办法可行,仅供参考啊。