function theme_status_messages

Returns HTML for status and/or error messages, grouped by type.

An invisible heading identifies the messages for assistive technology. Sighted users see a colored box. See http://www.w3.org/TR/WCAG-TECHS/H69.html for info.

Parameters

$variables: An associative array containing:

  • display: (optional) Set to 'status' or 'error' to display only messages of that type.

Related topics

5 theme calls to theme_status_messages()
ajax_prepare_response in includes/ajax.inc
Converts the return value of a page callback into an Ajax commands array.
file_ajax_upload in modules/file/file.module
Menu callback; Shared Ajax callback for file uploads and deletions.
hook_ajax_render_alter in modules/system/system.api.php
Alter the commands that are sent to the user through the Ajax framework.
template_preprocess_maintenance_page in includes/theme.inc
Process variables for maintenance-page.tpl.php.
template_process_page in includes/theme.inc
Process variables for page.tpl.php

File

includes/theme.inc, line 1673

Code

function theme_status_messages($variables) {
    $display = $variables['display'];
    $output = '';
    $status_heading = array(
        'status' => t('Status message'),
        'error' => t('Error message'),
        'warning' => t('Warning message'),
    );
    foreach (drupal_get_messages($display) as $type => $messages) {
        $output .= "<div class=\"messages {$type}\">\n";
        if (!empty($status_heading[$type])) {
            $output .= '<h2 class="element-invisible">' . $status_heading[$type] . "</h2>\n";
        }
        if (count($messages) > 1) {
            $output .= " <ul>\n";
            foreach ($messages as $message) {
                $output .= '  <li>' . $message . "</li>\n";
            }
            $output .= " </ul>\n";
        }
        else {
            $output .= reset($messages);
        }
        $output .= "</div>\n";
    }
    return $output;
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.