Alangasar: Видимо не хватает: $prototype_user->field_peopleuser_agencyn['und'][0]['value'] = $form_state['values']['agencyn']; или если таксономия, то вместо value tid будет
Alangasar: На сабмит формы нужна своя функция, которая будет сохранять данные в профиль, она есть у вас, может там собака зарыта? И да, для пустого значения у селекта есть #empty_option
На странице есть поля: ФИО, email, пароль, подтверждение пароля — все это сохраняется.
Не могу понять как при регистрации отображать поле select (выпадающий список, можно выбрать только один вариант). Поле называется field_peopleuser_agencyn
Вот код:
$form['agencyn'] = array(
'#type' => 'select',
'#required' => FALSE,
'#description' => t('Если Вы агент, выберите вашу компанию'),
'#title' => t('Агентство:'),
);
Отображается только слово Агентство: и список, в котором ничего нет.
В чем причина? Как будто не может понять, какой ему словарь загружать...
В Visitweb упал CTR, да и вообще заработок просел. Тестил CPA — тоже не очень.
sapien, может чем сможете помочь?
Подскажите, как можно редактировать все поля профайла конкретного пользователя, кроме логина и пароля?
field_peopleuser_agencyn тоже в профайл2? debug($form_state['values']['agencyn']) что говорит?
В смысле? Все работает) Ваш вариант сработал.
Видимо не хватает: $prototype_user->field_peopleuser_agencyn['und'][0]['value'] = $form_state['values']['agencyn'];
или если таксономия, то вместо value tid будет
Спасибо...я так пробовал, но values тоже заменял.
$prototype_user->field_peopleuser_agencyn['und'][0]['tid'] = $form_state['values']['agencyn'];
и '#default_value' => '0',
На сабмит формы нужна своя функция, которая будет сохранять данные в профиль, она есть у вас, может там собака зарыта? И да, для пустого значения у селекта есть #empty_option
На странице есть поля: ФИО, email, пароль, подтверждение пароля — все это сохраняется.
Есть вот что:
$account = array(
'uid' => NULL,
'name' => $form_state['values']['email'],
'pass' => $form_state['values']['password'],
'mail' => $form_state['values']['email'],
'status' => 1,
'roles' => drupal_map_assoc($roles),
'timezone' => 'Asia/Novosibirsk',
);
$account = user_save(drupal_anonymous_user(),$account);
$prototype_user = profile2_by_uid_load($account->uid, 'peopleuser');
$prototype_user->field_peopleuser_name['und'][0]['value'] = $form_state['values']['name'];
$prototype_user->field_peopleuser_email['und'][0]['value'] = $form_state['values']['email'];
profile2_save($prototype_user);
Не оно?
И для чего вы обворачиваете в t() русские тексты? Или английский, или без t()
Ну как-то так получилось, не обращал внимание.
Это где вызывается? в hook_form_alter? У select`a массив должен быть #options со значениями для списка выпадающего
Да, там.
Я использовал вот такой код:
$dropdown_source = taxonomy_get_tree(30);
$dropdown_array = array('0' => '--none--');
foreach ($dropdown_source as $item) {
$key = $item->tid;
$value = $item->name;
$dropdown_array[$key] = $value;
}
и потом: '#options' => $dropdown_array,
Все нормально отображается в форме регистрации, но не сохраняется после отправки формы (в профайле не выбрано значение).
Не могу понять как при регистрации отображать поле select (выпадающий список, можно выбрать только один вариант). Поле называется field_peopleuser_agencyn
Вот код:
$form['agencyn'] = array(
'#type' => 'select',
'#required' => FALSE,
'#description' => t('Если Вы агент, выберите вашу компанию'),
'#title' => t('Агентство:'),
);
Отображается только слово Агентство: и список, в котором ничего нет.
В чем причина? Как будто не может понять, какой ему словарь загружать...
https://drupal.org/project/views_datasource
Для 7-ки рабочая версия? не глючная?
Чем удобнее всего создать xml? Чтобы я мог указать какие типы материалов использовать, какие поля отображать.