Рейтинг:0

Шаблон страницы редактирования пользователя

флаг us

я использую тему startupgrowth lite, и я хочу создать тему для своей страницы редактирования пользователя, только когда пользователь является «тестировщиком» и редактирует «профиль пользователя-кандидата».

я знаю, что когда я хочу изменить форму, я должен сделать этот шаг:

1- добавьте функцию в template.php, чтобы переопределить страницу шаблона:

 функция startupgrowth_lite_theme ($ существующая, $ тип, $ тема, $ путь) {
$items['user_profile_form'] = массив(
    // Формы всегда принимают аргумент формы.
        'аргументы' => массив('форма' => NULL),
        'рендерить элемент' => 'форма',
        'template' => 'страница--пользователь--редактировать',
        'путь' => drupal_get_path('тема', 'startupgrowth_lite') . '/шаблон/форма',
);
возврат $items;
}

2- После этого я должен создать папку /template/form/ и поместить в нее файл page--user--edit.tpl.php и начать кодирование.

3- очистить кеш и у вас будет рендер, если нет, то вы должны сделать тему администрирования такой же, как ваша тема по умолчанию в моем случае (тема startupgrowthup).

Но в обычном случае я должен писать код <?php print render($form['XXX']); ?> чтобы поле user_profil_form называлось «XXX».

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

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

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

Что ж, мое решение для этого — создать функцию в пользовательском модуле и распечатать мой код прямо на странице.

функция custommodule_form_alter(&$form, $form_state, $form_id) {
  глобальный $пользователь;
  if($form['#form_id'] == "user_profile_form" && in_array('администратор', $user->роли)){
    echo $form['form_id']['#value'];
    печать рендеринга ($ form ['field1']);
    печать рендеринга ($ form ['field2']);
  }
  дпм ($ форма);
}

PS: я использую это, чтобы изменить форму пользователя только для некоторых правил моего проекта. Здесь я выбираю администратора, чтобы видеть только поле1 и поле2 например, из всех полей формы.

in_array('администратор', $user->роли)

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

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