Рейтинг:3

Можем ли мы добавить собственный класс CSS в \Drupal::messenger()->addStatus()?

флаг cn

Я провел некоторое исследование относительно добавления пользовательских классов CSS в сообщение, но не смог найти реального решения.

Согласно документации Drupal 9:

\Drupal::messenger()->addMessage(t($message));

публичная функция addMessage($message, $type = self::TYPE_STATUS, $repeat = FALSE);

Я не нахожу возможность добавить класс CSS. Во внешнем интерфейсе я хотел бы добавить собственный класс CSS пользовательские сообщения-статус в выведенном <div> чтобы я мог отформатировать его по желанию:

<div class="col-md-12 messages custom-messages--status">Successfully submitted.</div>
Рейтинг:5
флаг fr

добавить сообщение() принимает строку или MarkupInterface в качестве аргумента. Если вы собираетесь передать HTML в добавить сообщение(), вам нужно создать массив рендеринга для этой разметки, а затем явно визуализировать его. Например:

$ построить = [
  '#type' => 'контейнер',
  '#markup' => t('Успешно отправлено'),
  '#attributes' => ['class' => ['custom-messages--status']],
];
$message = \Drupal::service('рендерер')->renderPlain($build);
\Drupal::messenger()->addMessage($message);

Конечно, вы должны внедрить эти службы, когда это возможно, а не использовать статические \Друпал:: звонки.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.