Как я могу использовать пользовательскую страницу поддержки сайта в Drupal 7 - PullRequest
1 голос
/ 25 февраля 2011

Я хочу показать пользовательский сайт под страницей обслуживания. Но как я могу достичь этого, не играя с ядром?

<?php
function phptemplate_maintenance_page($content, $messages = TRUE, $partial = FALSE) {
  $path = $base_path . $directory; 
  drupal_goto($path .'offline.html');
}

?>

Это не сработало для меня.

Ответы [ 2 ]

1 голос
/ 25 февраля 2011

То, что я всегда делаю, - полностью избегаю этого офлайн-сообщения. Это бесполезно в большинстве случаев, когда один обновляется так или иначе, потому что во время обновления есть момент, когда часть файлов на месте, а другие нет (пока), или моменты, когда база данных выходит из строя и так далее.

Избежать этого довольно просто:

  • Добавьте свой собственный index.html, содержащий сообщение о том, что он не в сети.
  • Переименуйте .htaccess во что-то другое, например DISABLED.htaccess, или очистите его. Убедитесь, что во время обновления он не появляется снова случайно.

Может случиться так, что .htaccess не направляет apache к index.php по index.html, как это имеет место на большинстве серверов. В этом случае вам также потребуется изменить vhost, чтобы он предпочел index.html выше index.php.

Drupals .htaccess гарантирует, что index.php предпочтительнее выше index.html, поэтому вы можете безопасно оставить этот файл в корневом каталоге в рабочей среде. (Я храню его в репозитории git со всем остальным)

Как только вы закончите, все, что вам нужно, это вернуть .htaccess, и Drupal будет увеличивать масштаб.

Если вы хотите получить доступ к своему сайту во время автономного процесса, вы можете сделать это, набрав http://example.com/index.php. Вы также должны отключить чистые URL-адреса, если хотите переходить по сайту через автономный режим. например Ваша область настроек администратора находится на http://example.com/index.php?admin/settings.

0 голосов
/ 01 марта 2011

Самое простое решение - скопировать, вставить файл «page.tpl» в свою тему, переименовать новый файл в «maintenance-page.tpl.php». Это работает в Drupal 6, и я полагаю, что это должно работать и в Drupal 7, но не уверен, хотя. Стоит попробовать это в первую очередь.

...