web-dev-qa-db-ja.com

サイトをメンテナンスモードにせずにメンテナンスページを表示するにはどうすればよいですか?

私はサイトの利害関係者から、彼がサイトのメンテナンスページを表示して、サイトをメンテナンスモードにせずにリンクをテストする方法を尋ねられました。

情報は同じですが、これを行う方法はあるので、より低い環境でこれを行うことをお勧めします。

2
StephanieF

デフォルトでは、URLを介してメンテナンスページにアクセスするためのルートはありません。モジュールにメニュー項目と対応するページコールバックを作成できます。

// Access maintenance page regardless of the maintenance mode. 
$items['maintenance'] = array(
  'title' => 'Maintenance',
  'page callback' => 'yourmodule_maintenance_page',
  'access callback' => 'user_is_logged_in',
  'type' => MENU_CALLBACK
);

yourmodule_maintenance_page () {
  // Just use the internal status code to make Drupal load the apropriate theme and template. 
  return MENU_SITE_OFFLINE;
} 

これですべてです。/maintenanceに移動してページを表示してください。

'maintenance_page'テーマをオーバーライドすることもできます。

  • includes/theme.maintenance.incの基本前処理関数
  • modules\system\maintenance-page.tpl.phpのベーステンプレートファイル
3
user26231

それを行う別の方法は、settings.phpファイルに次のコードを追加することです

if (isset($_GET['maintenance'])) {
   $conf['maintenance_mode'] = TRUE;
}

次に、「your_domain /?maintenance = 1」に移動すると、メンテナンスモードになります。

2
Adeleke Akinade