Вот такой собственно вопрос.
При невозможности подключиться к БД, вываливается страничка с ошибкой, так вот хотелось бы темизировать данную страничку.
Drupal 5.7
PS
Да, я знаю что есть функция theme_maintenance_page() и её можно перегрузить функцией phptemplate_maintenance_page() в template.php, но работает это лишь если уводить сайт в офф, при ошибке БД грузится по умолчанию, ибо global $theme всегда пуст :/
Посмотрел много мануала в рунете и на друпал.орг, такое ощущение что не работает только у меня.
Проверял на 3 сайтах, версии (5.2, 5.7, 5.7) .. не работает такой финт нигде -(
Подскажите может я что-то упустил?
Комментарии
http://www.setegnom.com/node/317
Здорово, только я же написал что эту статью смотрел и такой вариант не работает.
includes/database.mysql.inc менял?
а надо )
мда?
А зачем? Текст пусть будет таким же, не вопрос .. я про сам смысл. Функция theme_maintenance_page() не перегружается.
ну ступил, бывает )
прикол, до меня только дошло, что я много раз темизировал это безобразие но до сих пор ни разу так и не проверил на работоспособность при недоступной базе.
гляну, попозже отпишу.
Я настраивал эту страницу по этой инструкции: http://harzah.net/node/875.
На локалхосте всё было красиво, а на сервере варнинги вылазят и в них пути к скриптам указаны...
В общем не красиво выходит. Как убрать пока не разбирался...
VladSavitsky, там понимаешь в чем дело ..
До вызова theme('maintenance_page', ...) не происходит инициализации темы .. т.е. чисто в теории сначала должна подгрузиться тема, установленная по-умолчанию, но на практике глобальная переменная $theme пуста, в результате скрипт не находит phptemplate_maintenance_page() определённой в твоей теме, поэтому грузится дефолтная функция без темизации.
В 6 версии это поправлено, потому что при ошибке подключения к БД вылазит темизированая страничка (по-дефолту гарланл), т.е. у меня складывается отчётливое впечатление что это баг ядра 5 версии.
Я правда не могу понять почему у тебя раньше прокатывал способ с http://harzah.net/node/875, потому что в принципе он не должен работать. Есть предположение, что баг появился с какого то релиза, т.е может в какой нить 5.2 или 5.1 работало, а потом отвалилось.
PS
А варнинги php наверное нужно выключить в настройках сервера. Лучше конечно перенаправить вывод ошибок в файл.
Для проверки поставил 5.7 и 6.1
drupal 5.7 - не темизируется
drupal 6.1 - темизирована
$theme в 6 уже определена как минелли, в 5 пустая.
5.7
$theme - string(0) ""
6.1
$theme_path - string(23) "themes/garland/minnelli"
$theme - string(8) "minnelli"
Тогда логично что и темизировать нельзя в 5.