Загрузить конкретную таблицу стилей при отказе в доступе - PullRequest
0 голосов
/ 15 июля 2010

Когда пользователь получает страницу «Отказано в доступе», как вы можете использовать drupal_add_css для загрузки определенной таблицы стилей?Возможно ли это?

1 Ответ

3 голосов
/ 15 июля 2010

Это возможно.Следующий код может добавить файл CSS, когда Drupal возвращает страницу с отказом в доступе.
Помните, что когда Drupal возвращает такую ​​ошибку, URL-адрес, отображаемый в браузере, не изменяется;например, если я пытаюсь получить доступ к /admin/content, и мне не разрешен доступ к этой странице, показанный URL-адрес не изменяется.Вам нужно проверить выходные данные заголовков из Drupal, чтобы проверить, выводит ли он заголовок запрещенного доступа.

function custom_module_preprocess_page(&$variables) {
  if (preg_match('@HTTP/1\.[01]\x20+403[^a-zA-Z0-9]@', drupal_get_headers())) {
    $variables['css'] = drupal_add_css($css_file_to_add);
    $variables['styles'] = drupal_get_css();
  }
}

Эквивалент для Drupal 7 следующий:

function custom_module_preprocess_page(&$variables) {
  if (drupal_get_http_header('Status') == '403 Forbidden') {
    $variables['css'] = drupal_add_css($css_file_to_add);
    $variables['styles'] = drupal_get_css();
  }
}

Тот же кодможет использоваться для функции предварительной обработки, реализуемой темой.

...