Điểm:0

Thông báo trạng thái không hiển thị

lá cờ us

Tôi có một bộ điều khiển quản lý việc gửi biểu mẫu đặt lại mật khẩu. Mọi thứ hoạt động tốt, ngoại trừ cài đặt tin nhắn. Tôi cũng đã cố gắng thay đổi thông báo trong tệp .module mà không gặp may. Nó hoạt động trên Drupal 8, nhưng sau khi chuyển sang drupal 9 thì nó không hoạt động nữa. Đây là mã:

<?php

không gian tên Drupal\custom_form_save\Controller;

sử dụng Symfony\Thành phần\HttpFoundation\Response;
sử dụng \Drupal\Core\Session\AccountProxyInterface;
sử dụng \Drupal\user\UserInterface;
sử dụng Drupal\Core\Image\ImageFactory;
sử dụng \Drupal\user\Entity\User;
sử dụng \Drupal\node\Entity\Node;
sử dụng \Drupal\file\Entity\File;
sử dụng \Drupal\Core\Entity\EntityManagerInterface;
sử dụng \Drupal\Core\Entity\EntityInterface;
sử dụng Drupal\comment\Entity\Comment;
sử dụng Drupal\Core\Controller\ControllerBase;
sử dụng Drupal\block\Entity\Block;
sử dụng Drupal\Core\Block\BlockBase;  
sử dụng Drupal\Core\Session\AccountInterface;
sử dụng Symfony\Thành phần\HttpFoundation\Request;
sử dụng Drupal\node\NodeInterface;
sử dụng Drupal\image\Entity\ImageStyle;
sử dụng Symfony\Thành phần\HttpFoundation\RedirectResponse;
sử dụng Drupal\user\PrivateTempStoreFactory;
sử dụng Symfony\Component\DependencyInjection\ContainerInterface;
sử dụng Drupal\custom_form_save\Controller\EmailsController;
sử dụng Drupal\content_manager\Controller\StaticController;
sử dụng Drupal\Core\Messenger\MessengerInterface;

lớp ResetPasswordSendController mở rộng ControllerBase {

  chức năng công khai resetpasswordsend(){

    $static_functions = bộ điều khiển tĩnh mới();
    $routes = $static_functions->urlmanagerwebsite();
    
    $session = \Drupal::service('session');
    if (!$session->isStarted()) {
      $session->di chuyển();
    }

    $host = \Drupal::request()->getSchemeAndHttpHost();
    $name = $_POST['email'];
    $langcode = \Drupal::languageManager()->getCurrentLanguage()->getId();
    $users = \Drupal::entityTypeManager()->getStorage('user')->loadByProperties(array('mail' => $name));
    if (!empty($users)) {
      $account = đặt lại($users);
      $mail = _user_mail_notify('password_reset', $account, $langcode);
      \Drupal::messenger()->addMessage('Wir haben eine Anleitung zum Zurücksetzen des Passworts an deine registrierte E-Mail-Adresse gesendet.'); //KHÔNG LÀM VIỆC
      $response = new RedirectResponse($host . $routes['resetpassword']);
      $ phản hồi-> gửi();
      lối ra;
    }

    $addmessage = $name . ' wird nicht als E-Mail-Adresse erkannt.';
    $this->messenger()->addMessage($addmessage); //KHÔNG LÀM VIỆC
    $session->set('messagescustom', $addmessage); //KHÔNG LÀM VIỆC
    \Drupal::messenger()->addMessage('Die eingegebenen Địa chỉ E-Mail kích thích nicht überein.'); //KHÔNG LÀM VIỆC
    $response = new RedirectResponse($host . $routes['resetpassword']);
    $ phản hồi-> gửi();
    lối ra;
  }
}

Chủ đề không phải là vấn đề, bởi vì trên mọi trang khác, thông báo đang hoạt động.

lá cờ fr
Xem https://drupal.stackexchange.com/questions/138697/what-function-method-can-i-use-to-redirect-users-to-a-different-page/303653#303653
4uk4 avatar
lá cờ cn
Bạn đã thử `return $response;` và không gửi và thoát?
Jaypan avatar
lá cờ de
Để chuyển hướng từ bộ điều khiển, bạn có thể sử dụng return `$this->response($route=name);`. Có lẽ điều đó sẽ giúp ích. https://api.drupal.org/api/drupal/core%21lib%21Drupal%21Core%21Controller%21ControllerBase.php/feft/ControllerBase%3A%3Aredirect/9.3.x
lá cờ us
@anonymous: Cảm ơn bạn đã khắc phục sự cố!

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.