当前位置

Drupal中用page--front.tpl.php来定制首页

James Qi 在 2012年3月19日 - 13:57 提交
内容摘要:以前做Drupal首页一般就是新建一个普通页面,让在Site information中设置为首页就可以。不过考虑到我们现在有些系列网站包含几十个子网站,首页的模式基本相同,如果有些地方需要修改,就需要......

  以前做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中的内容覆盖。

自由标签:

评论

-- 发自IP地址: 61.183.172.34 (位置 | 谁是)

上面说的这个办法其实不正规,定制首页的内容不应该直接放在page--front.tpl.php中,这个文件应该是起到theme,也就是改主题界面用的。
我另外使用了一个办法,就是做一个简单的模块(module),在这里面注册一个hook_menu路径,例如做一个home的路径,把所要的代码复制进去就可以,然后再在Site information中把首页设置成home就可以了。

James Qi / 祁劲松

-- 发自IP地址: 110.244.2.64 (位置 | 谁是)

这个方法没有试过,对做module还不熟悉,先用page--front.tpl.php做。。。

-- 发自IP地址: 61.183.172.43 (位置 | 谁是)

我没有在多语言网站中使用page--front.tpl.php这种模式来搭建首页,但有个建议你可以考虑一下:
各种语言版本都可以只用page--front.tpl.php这一个模板来做首页,在这个模板中来判断当前语言,然后呈现出不同语言版本的内容来。
没有实际做过,但感觉这个办法可行,仅供参考啊。

James Qi / 祁劲松