Drupal 8 Render Форма профиля пользователя в пользовательском модуле - PullRequest
0 голосов
/ 02 октября 2018

Я довольно новичок в Drupal 8, и я хотел отобразить профиль пользователя (user / [user_id] / edit) на определенной странице, которая будет создана через пользовательский модуль.Я хотел этого, потому что я хочу, чтобы пользователи редактировали свой профиль, не заходя на страницу пользователя / [user_id] / edit.

вот что я сделал на своем контроллере:

namespace Drupal\my_account\Controller
use Drupal\user\ProfileForm

class MyAccountController{
  public function content(){
   $entity = \Drupal::entityManager()
  ->getStorage('user')
  ->create(array());

  $formObject = \Drupal::entityManager()
  ->getFormObject('user', 'default')
  ->setEntity($entity);

$form = \Drupal::formBuilder()->getForm($formObject);

    return ['form'=>$form];
  }
}

Ему удается отобразить форму, но нет пользовательского содержимого.

1 Ответ

0 голосов
/ 08 октября 2018
  1. Подготовьте пользовательский объект, с которым вы хотите загрузить данные.
  2. Drupal :: formBuilder () -> getForm (Drupal \ user \ ProfileForm :: class, $ user_obj)
...