Рейтинг:1

Подтверждающее сообщение о отправке комментария

флаг in

Когда комментарий отправляется, сообщение подтверждения не отображается, и я хотел бы добиться этого. Я хочу показать следующее сообщение.

Ваш комментарий добавлен для просмотра и одобрения.

Я пробовал этот код.

функция mymod_form_alter(&$form, FormStateInterface $form_state, $form_id) {
  иначе если ($form_id == 'comment_comment_form') {
    $form['actions']['submit']['#value'] = "Ваш комментарий добавлен на рассмотрение и утверждение"
  }
}

Это только редактирует текст кнопки отправки. Есть ли способ добавить сообщение подтверждения отправки?

Рейтинг:4
флаг us

Drupal уже показывает подобное сообщение пользователям, у которых есть оставлять комментарии разрешение, но не пропустить одобрение комментария разрешение.
Для этого не нужно использовать пользовательский код: не давайте пропустить одобрение комментария разрешение пользователям, чьи комментарии должны быть одобрены.

Если целью является изменение сообщения, отображаемого Drupal в этом случае (Ваш комментарий поставлен в очередь на рассмотрение администраторами сайта и будет опубликован после одобрения.), достаточно изменить сообщение, которое использует Drupal, например, добавив следующую строку в файл settings.php.

$settings['locale_custom_strings_en'][''] = [
  «Ваш комментарий поставлен в очередь на рассмотрение администраторами сайта и будет опубликован после одобрения». => 'Ваш комментарий добавлен для просмотра и утверждения',
];
флаг in
Спасибо за помощь.Приведенный выше фрагмент не перезаписывает язык, который я все еще вижу «Ваш комментарий был добавлен для просмотра и утверждения». обновленное сообщение не отображается.
флаг in
Кстати, я скопировал приведенные выше строки в settings.php и очистил кеш. до сих пор я не вижу, что язык изменился
leymannx avatar
флаг ne
@chaydru — я думаю, вам нужно перевести сообщение прямо сейчас на странице перевода интерфейса.
флаг in
Как это сделать?
apaderno avatar
флаг us
@chaydru Этот метод все еще задокументирован в файле [default.settings.php](https://api.drupal.org/api/drupal/sites%21default%21default.settings.php/9.3.x) для Drupal 9.3. x, так что это метод изменения строк, используемый основным модулем Drupal.
apaderno avatar
флаг us
Комментарий в файле *default.settings.php* гласит: _Чтобы переопределить определенные строки на вашем сайте с включением или без включения модуля Locale, добавьте запись в этот список. Эта функция позволяет изменить небольшое количество строк интерфейса вашего сайта на английском языке по умолчанию._
флаг in
Дать согласие. Позвольте мне еще раз проверить мои настройки. В первый раз, когда я внес это изменение, оно не отразилось
флаг in
Спасибо @apaderno, это решение сработало.
Рейтинг:1
флаг de

Вам нужно будет добавить собственный обработчик отправки и установить там свое сообщение.

функция ahrq_form_alter(&$form, FormStateInterface $form_state, $form_id) {
    иначе если ($ form_id == 'comment_comment_form') {
       $form['actions']['submit']['#submit'][] = 'ahrq_comment_form_submit';
    }
}

функция ahrq_comment_form_submit(&$form, FormStateInterface $form_state) {
  \Drupal::messenger()->addStatus->($this->t('Ваш комментарий добавлен на рассмотрение и одобрение'));
}

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

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