function Analyzer::formatMessages
Same name in other branches
- 9 core/modules/views/src/Analyzer.php \Drupal\views\Analyzer::formatMessages()
- 10 core/modules/views/src/Analyzer.php \Drupal\views\Analyzer::formatMessages()
- 11.x 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;
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.