You are here

drupal维护(maintenance)页的主题化

        当drupal站点处于离线模式下时,就会使用维护页.你可以在"Administer > Site configuration > Site maintenance"页面启用这一模式.这一模式也将关闭数据库连接.在默认情况下,不管你是否选用了其它主题,对于这个页面都会使用drupal核心主题Minnelli.为了让维护页使用你的drupal主题,你需要在"settings.php"文件中对其进行设置,你可以在"sites/default" 或者"sites/your.domain.com"目录下找到"settings.php"文件.

 

在该文件中,通过设置$conf变量,让其使用你drupal主题的内部名称,从而为维护页启用新的drupal主题:

<?php
$conf['maintenance_theme'] = 'themeName';
?>

 

接着,拷贝你的"page.tpl.php"并将其改名为"maintenance-page.tpl.php",或者拷贝"modules/system/maintenance-page.tpl.php"模板到你的主题目录下面,对maintenance-page.tpl.php文件进行编辑,使其与你站点的其它部分相匹配.然后,将站点设为离线模式,退出登录,来验证所作的修改.考虑到数据库连接失败,你可以尝试关闭你的数据库.对于所有用到数据库的函数,都将会首先使用db_is_active对其进行检查.在模板中也可以使用变量$db_is_active.

 

为了阻止出现数据库连接的警告信息,你可以再加一个模板文件"maintenance-page-offline.tpl.php",使用你的自定义消息来修改$content变量.该模板文件是基于maintenance-page.tpl.php的一个模板建议,所以你需要将它们放到一块.

 

在这种模式下,将会包含一个"maintenance.css"文件.它位于"modules/system/maintenance.css".你可以按照样式表一节中的讲解,来覆写这个文件.

 

注意:

  • 你的drupal站点的初始安装和升级,都依赖于核心主题Minnelli 和Garland.不能因为这些模式对这两个主题进行修改.
  • 在离线模式下,主题注册表没有被缓存起来. 

原文:http://drupal.org/node/195435

译者:葛红儒, Think in Drupal

Drupal版本: