Drupal 7, вставьте user_profile_form на страницу - PullRequest
0 голосов
/ 04 июля 2011

Я пытался вставить user_profile_form на страницу.код довольно прост:

global $ user;module_load_include ('inc', 'user', 'user.pages');print drupal_render (drupal_get_form ('user_profile_form', $ user, 'account'));

все отлично работает, кроме загрузки изображений, показывает:

"Предупреждение: call_user_func_array () [function.call-user-func-array]: ожидается, что первым аргументом будет допустимый обратный вызов, user_profile_form был задан в drupal_retrieve_form () "

Любые идеи, большое спасибо

Ответы [ 2 ]

3 голосов
/ 09 февраля 2013

вам нужно использовать form_load_include () вместо module_load_include для загрузки / построения формы, и вы должны передавать аргументы внутри $ form_state.

код, который вы ищете:

    $form_id = 'user_profile_form';
    $form_state = array();
    //passing arguments to form.
    $form_state['build_info']['args'] = array($account, 'account');

    form_load_include($form_state, 'inc', 'user', 'user.pages');

    $form = drupal_build_form($form_id, $form_state);
0 голосов
/ 20 сентября 2016

Для предотвращения уведомления или предупреждения:

Попытка получить свойство необъекта в user_account_form () (строка 1019 из /var/www/modules/user/user.module)

Измените последние две строки на:

<?php 
    $output_form = drupal_get_form($form_id); 
    print render($output_form); 
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...