В template.php в вашей теме (если нет, то создаём), добавляем:
-
<?php
-
function phptemplate_maintenance_page($content) {
-
}
-
-
function _phptemplate_variables($hook, $vars) {
-
switch($hook) {
-
case 'maintenance_page' :
-
$vars['site_name'] = variable_get('site_name', '') ;
-
break;
-
}
-
return $vars;
-
}
-
?>
В созданный файл maintenance_page.tpl.php добавляем (замените заголовки):
-
<?php echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" ?>
-
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-
-
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-
-
<head>
-
<title>::: Harzah.Net | Сайт на обслуживании</title>
-
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-
<link rel="Shortcut Icon" type="image/x-icon" href="favicon.ico" />
-
<meta name="generator" content="Drupal" />
-
<base href="<?php global $base_url; print $base_url;?>" />
-
<style type="text/css" media="all">@import "themes/slash/maintenance.css";</style>
-
<!--[if IE 6]>
-
<script type="text/javascript" src="themes/slash/mata_pngfix.js"></script>
-
<![endif]-->
-
</head>
-
<body>
-
-
<div id="message-box">
-
<?php if ($site_name != ""): ?>
-
<h2><?php print $site_name ?><br />503 - Сервис Недоступен</h2>
-
<?php else: ?>
-
<h2>503 - Сервис Недоступен<br />Приносим Извинения за Неудобство</h2>
-
<?php endif; ?>
-
<div id="message"><?php print $content ?></div>
-
</div>
-
-
<div>
-
<img src="themes/slash/maintenance-drupalicon.png" width="359" height="460" alt="Drupal Logo" id="drupal-logo" />
-
</div>
-
-
</body>
-
</html>
Для того, чтобы изменить ещё и сообщение о недоступности к базе данных, нужно изменить код includes/database.mysql.inc на строке 105:
-
<?php
-
drupal_set_header('HTTP/1.1 503 Service Unavailable');
-
drupal_set_title('Unable to connect to database server');
-
print theme('maintenance_page', '<p>If you still have to install Drupal, proceed to the <a href="'. base_path() .'install.php">installation page</a>.</p>
-
<p>If you have already finished installed Drupal, this either means that the username and password information in your <code>settings.php</code> file is incorrect or that we can\'t connect to the MySQL database server. This could mean your hosting provider\'s database server is down.</p>
-
<p>Currently, the username is '. theme('placeholder', $url['user']) .' and the database server is '. theme('placeholder', $url['host']) .'.</p>
-
<ul>
-
<li>Are you sure you have the correct username and password?</li>
-
<li>Are you sure that you have typed the correct hostname?</li>
-
<li>Are you sure that the database server is running?</li>
-
</ul>
-
<p>For more help, see the <a href="http://drupal.org/node/258">Installation and upgrading handbook</a>. If you are unsure what these terms mean you should probably contact your hosting provider.</p>');
-
exit;
-
?>
На этот код (убраны данные, которые могут быть использованы злоумышленниками, незачем кому-то знать где у вас находится база данных, под каким пользователем используется... измените также заголовки и пути связанные с сайтом harzah.net, пути должны быть абсолютные, иначе работает не всегда):
-
<?php
-
drupal_set_header('HTTP/1.1 503 Сервис Недоступен');
-
drupal_set_title('::: Harzah.Net | Нет соединения с сервером базы данных');
-
print theme('maintenance_page', '<head><style type="text/css" media="all">@import "http://harzah.net/themes/slash/maintenance.css";</style><link rel="Shortcut Icon" type="image/x-icon" href="http://harzah.net/files/favicon.ico" /></head><div id="message-box"><h2>::: Harzah.Net<br />503 - Сервис Недоступен</h2><div id="message">Нет соединения с базой данных. Подождите, пожалуйста, некоторое время. Мы скоро вернёмся. Спасибо за ваше терпение. </div></div><div><img src="http://harzah.net/themes/slash/maintenance-drupalicon.png" width="359" height="460" alt="Drupal Logo" id="drupal-logo" />
-
</div>');
-
exit;
-
?>
Несколько неправильно, с точки зрения стандартов, но работает и показывается одинаково во всех трёх браузерах. Для версии 4.7 всё также, только номера строк не везде совпадают и имена функций могут быть немного не те (смотрите по аналогии). Ну и последнее, добавьте в папку вашей темы прикреплённые файлы.
Комментарии
Супер
Супер! Обязательно попробую на днях.
с этим изменением по ширине надо что-то делать, всё никак руки н
с этим изменением по ширине надо что-то делать, всё никак руки не дойдут...
модуль кто бы сделал, что ли?
мега респект
2 дня искал на drupal.ru, а оно вот оно где я его видел ))))
хех, всегда пожалуйста... сам искал везде где только можно, не н
хех, всегда пожалуйста...
сам искал везде где только можно, не нашёл конкретного решения, пришлось делать самому...
а часть нашёл в Метатеме, правда она что-то не развивается...
вариант не независимый от настроек, поэтому на Друпал.Ру не стал добавлять...
в php 5 не работает =( Fatal error: Cannot redeclare _phptemplat
в php 5 не работает =(
проблема явно не в пхп5, так как у меня всё работало как раз на
проблема явно не в пхп5, так как у меня всё работало как раз на нём...