当用户获得“拒绝访问”页面时,如何使用drupal_add_css加载特定样式表?这可能吗?
答案 0 :(得分:3)
有可能。当Drupal返回拒绝访问页面时,以下代码可以添加CSS文件
请记住,当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();
}
}
相同的代码可用于主题实现的预处理功能。