为维护(drupal Site Offline)页面自定义主题

Drupal 6.x提供了一种内置的phptemplate方式,对站点离线后的维护页面进行主题化---参看http://drupal.org/node/195435.

在Drupal 5.x中,许多帖子建议通过修改内核为该页面定制主题,但是这种想法很臭,而且没有必要,当然最后的结果也不一定好.下面是由Nax(http://drupal.org/user/25511)提出的一些比较好的方式,每种方式都有自己的优点:

 

  • 为维护页面定义一个自定义主题模板文件: http://drupal.org/node/58562#comment-266358

    •       优点: 与主题相集成;在admin/settings/site-maintenance页面可以方便的配置“站点离线消息”,并可通过该管理界面修改这一消息。
  • 为维护页面定义一个静态的Html页面,通过向template.php插入下面的代码,将页面重定向到这个html页面:

function phptemplate_maintenance_page($content, $messages = TRUE, $partial = FALSE) {
  drupal_goto('path/to/your/site-offline.html');
}

参看http://drupal.org/node/58562#comment-281490

  •  

    •     优点:非常简单;不需要为维护页面自定义主题。
    •     不足:没有使用管理界面的“站点离线消息”,对于那些不了解情况的管理员,会让其感到很困惑。

这两种方法都能工作,所以你可以根据你的情况选择一个适合自己的。

 

当开发你自定义的维护页面时,你需要注意几点:

  •     记住,站点已经离线,现在你不能够再调用数据库了,包括直接的或者间接的,都不可以,所以在这一点上你需要小心。
  •     记住,你的.htaccess文件对用户可以访问的文件夹进行了限制,所以你需要将静态html页面放在一个用户可以访问的文件夹下(比如,根目录下面)

 

如果你有什么建议或者更好的方法的话,可以在下面跟贴。

相关链接: http://drupal.org/node/235463 , Think in Drupal

Drupal版本: