自定义模块中的Drupal 8 Render用户配置文件表格

时间:2018-10-02 12:34:55

标签: php forms drupal-8 form-api

我对Drupal 8还是很陌生,我想在某个页面中渲染用户配置文件(user / [user_id] / edit),该页面将通过自定义模块创建。我想要这样做是因为我希望用户无需进入用户/ [user_id] /编辑页面即可编辑其个人资料。

到目前为止,这是我在控制器中所做的:

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 :(得分:0)

  1. 准备好要用于加载数据的用户对象。
  2. Drupal :: formBuilder()-> getForm(Drupal \ user \ ProfileForm :: class,$ user_obj)