public function Analyzer::formatMessages in Drupal 10
Same name and namespace in other branches
- 8 core/modules/views/src/Analyzer.php \Drupal\views\Analyzer::formatMessages()
- 9 core/modules/views/src/Analyzer.php \Drupal\views\Analyzer::formatMessages()
Formats the analyze result into a message string.
This is based upon the format of \Drupal\Core\Messenger\MessengerInterface::addMessage() which uses separate boxes for "ok", "warning" and "error".
File
- core/
modules/ views/ src/ Analyzer.php, line 58
Class
- Analyzer
- This tool is a small plugin manager to perform analysis on a view and report results to the user. This tool is meant to let modules that provide data to Views also help users properly use that data by detecting invalid configurations. Views itself…
Namespace
Drupal\viewsCode
public function formatMessages(array $messages) {
if (empty($messages)) {
$messages = [
static::formatMessage(t('View analysis can find nothing to report.'), 'ok'),
];
}
$types = [
'ok' => [],
'warning' => [],
'error' => [],
];
foreach ($messages as $message) {
if (empty($types[$message['type']])) {
$types[$message['type']] = [];
}
$types[$message['type']][] = $message['message'];
}
$output = '';
foreach ($types as $type => $messages) {
$type .= ' messages';
$message = '';
if (count($messages) > 1) {
$item_list = [
'#theme' => 'item_list',
'#items' => $messages,
];
$message = \Drupal::service('renderer')
->render($item_list);
}
elseif ($messages) {
$message = array_shift($messages);
}
if ($message) {
$output .= "<div class=\"{$type}\">{$message}</div>";
}
}
return $output;
}