Как добавляются поля в форму регистрации

в 2.2.1

#1 19 мая 2015 в 01:56
Как добавляются поля в форму регистрации?
Хотел добавить чтоб аватар загружали при регистрации… не нашёл где и как это делается.
#2 19 мая 2015 в 06:52
Этоже легче простого.
зайдите вот сюда и нажмите вот это.
Оно и добавится
#3 19 мая 2015 в 06:56


Как добавляются поля в форму регистрации?
Хотел добавить чтоб аватар загружали при регистрации… не нашёл где и как это делается.

Блицкриг

Мне такое нужно было для версии 1.9. Я нанимал человека с этого сайта для этого. Просто дайте объявление. мол ищу исполнителя.
#4 26 мая 2015 в 03:12


Посмотрите здесь

Василёк

Спасибо большое. Но меня интересует немного другое. При регистрации пользователя, в форме регистрации нет кнопки "загрузки аватара". Я спрашивал, как добавить это и другие поля в форму. Достаточно ли просто добавить пару строчек в шаблон формы регистрации или нужно сделать нечто большее? Хотя бы подскажите в каком файле шаблон формы регистрации… или форма в нескольких шаблонах?
#5 26 мая 2015 в 03:13


Этоже легче простого.
зайдите вот сюда и нажмите вот это.
Оно и добавится

Скорпион

Оригинально. Но глупо. Можно ведь не писать ничего если ответа не знаете. Спасибо что потратили время… но не стоило.
#6 26 мая 2015 в 04:04


Мне такое нужно было для версии 1.9. Я нанимал человека с этого сайта для этого. Просто дайте объявление. мол ищу исполнителя.

Man

Мне интересней самому разобраться и допилить, и дело не в финансах… а именно в интересе самому сделать, я учусь работать с ООП в php и мне это нужно больше для опыта.
#7 26 мая 2015 в 12:59

Мне интересней самому разобраться и допилить,

Блицкриг

Ну раз так — надо мыслить логически.
Чем характерно поле ввода аватара? Надписью "Загрузка аватара".
Ищем такую строку в файлах сайта:
Идем в components\users\frontend.php и видим такую функцию:
  1. //============================================================================//
  2. //============================= Загрузка аватара ============================//
  3. //============================================================================//
  4. if ($do=='avatar'){
  5.  
  6. if (!$inUser->id || ($inUser->id && $inUser->id != $id)){ cmsCore::error404(); }
  7.  
  8. $inPage->setTitle($_LANG['LOAD_AVATAR']);
  9. $inPage->addPathway($inUser->nickname, cmsUser::getProfileURL($inUser->login));
  10. $inPage->addPathway($_LANG['LOAD_AVATAR']);
  11.  
  12. if (cmsCore::inRequest('upload')) {
  13.  
  14. cmsCore::loadClass('upload_photo');
  15. $inUploadPhoto = cmsUploadPhoto::getInstance();
  16. // Выставляем конфигурационные параметры
  17. $inUploadPhoto->upload_dir = PATH.'/images/';
  18. $inUploadPhoto->dir_medium = 'users/avatars/';
  19. $inUploadPhoto->dir_small = 'users/avatars/small/';
  20. $inUploadPhoto->small_size_w = $model->config['smallw'];
  21. $inUploadPhoto->medium_size_w = $model->config['medw'];
  22. $inUploadPhoto->medium_size_h = $model->config['medh'];
  23. $inUploadPhoto->is_watermark = false;
  24. $inUploadPhoto->input_name = 'picture';
  25.  
  26. $file = $inUploadPhoto->uploadPhoto($inUser->orig_imageurl);
  27.  
  28. if(!$file){
  29.  
  30. cmsCore::addSessionMessage('<strong>'.$_LANG['ERROR'].':</strong> '.cmsCore::uploadError().'!', 'error');
  31. cmsCore::redirect('/users/'.$id.'/avatar.html');
  32.  
  33. }
  34.  
  35. $sql = "UPDATE cms_user_profiles SET imageurl = '{$file['filename']}' WHERE user_id = '$id' LIMIT 1";
  36. $inDB->query($sql);
  37. // очищаем предыдущую запись о смене аватара
  38. cmsActions::removeObjectLog('add_avatar', $id);
  39. // выводим сообщение в ленту
  40. cmsActions::log('add_avatar', array(
  41. 'object' => '',
  42. 'object_url' => '',
  43. 'object_id' => $id,
  44. 'target' => '',
  45. 'target_url' => '',
  46. 'description' => '<a href="'.cmsUser::getProfileURL($inUser->login).'" class="act_usr_ava">
  47. <img border="0" src="/images/users/avatars/small/'.$file['filename'].'">
  48. </a>'
  49. ));
  50.  
  51. cmsCore::redirect(cmsUser::getProfileURL($inUser->login));
  52.  
  53. } else {
  54.  
  55. cmsPage::initTemplate('components', 'com_users_avatar_upload')->
  56. assign('id', $id)->
  57. display('com_users_avatar_upload.tpl');
  58.  
  59. }
  60. }
Потом идем в \languages\ru\components\users.php и видим, что загрузка обзывается 'LOAD_AVATAR'
Ищем лоуд аватар и находим темплейт с оформлением ввода \templates\_default_\components\com_users_avatar_upload.tpl

Дальше рассказывать или разберетесь?
#8 26 мая 2015 в 19:24

Дальше рассказывать или разберетесь?

HiAndy
Расскажите пожалуйста, так нам тоже интересно.
#9 26 мая 2015 в 19:37

Расскажите пожалуйста, так нам тоже интересно.

Man

Я надеялся, что дальше знающие люди присоединятся. scratch
Мне точно также, как и топикстартеру придется сделать это самому, чтобы рассказать всем, кому интересно. laugh

Ну раз есть интерес, попробую…
#10 26 мая 2015 в 22:15

Я надеялся, что дальше знающие...
Мне точно также, как и топикстартеру придется сделать это самому, чтобы рассказать всем, кому интересно
Ну раз есть интерес, попробую...

HiAndy
Хороший подход к проблеме!
#11 26 мая 2015 в 22:39

Хороший подход к проблеме!

Олег Васильевич я

Это не моя проблема. smile

ТС спрашивал:

Хотя бы подскажите в каком файле шаблон формы регистрации… или форма в нескольких шаблонах?

Блицкриг

Шаблон формы регистрации com_registration.tpl
Дальше можно не мешать топикстартеру в творчестве, а Man, можно и в личку рассказать о результатах исследования.

На мой взгляд, чем больше обязательных требований при регистрации, тем меньше потенциальных пользователей через неё пройдут!
Уж лучше пусть нормальные, стабильные пользователи потом, когда освоятся, выберут нужный аватар, чем заставлять выбирать аватар в обязательном порядке.

Блицкриг,

С добавлением полей вообще проблем никаких нет.
А вот дальше возникают проблемы. Стандартный механизм добавления аватара предусматривает наличие зарегистрированного пользователя, которому добавляется этот аватар. И чтобы выбрать аватар "для никого" нужно будет запомнить этот выбор в какой-либо переменной, и лишь после нажатия кнопки "Зарегистрироваться" запустить стандартную функцию изменения аватара. Это все потребует кардинальных доработок, несравнимых с добавлением поля ввода в форме регистрации. Потребуется дать право гостям на загрузку изображений и другие не совсем правильные действия. Ведь пока кнопка не нажата, это не юзер, а все таки гость!

Может не стоит насиловать будущего пользователя, а просто редиректить его после регистрации в стандартную форму добавления аватара?
Это легко можно сделать.
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.