Наверное многим как и мне надоели одноликие пользователи которым лень после регистрации закачать аватар.
Тогда то я и захотел, сделать загрузку аватара при регистрации, в блогах уже была такая реализация, но она была платная, а покупать мне не хотелось😊в один прекрасный момент я наконец то понял как это сделать, но тогда встала другая проблема, а что делать если пользователь не выбрал аватар, надо либо делать выбор аватара обязательным либо сделать возможность установки случайного аватара, вот как раз таки как сделать второе я и расскажу:
1. Скачиваем архив rand_ava.zip, без страха распаковываем в корень сайта, в архиве 100 мужских и 100 женских аватаров и больше ничего;
2. В файле ВАШ_ШАБЛОН/components/com_registration.tpl вставьте в любое удобное для вас место ставите это:
Многие из вас скажут, а для чего здесь выбор пола, потерпите скоро все поймете :);
Там же это:
меняем на это:
3. В файле components/registration/frontend.php находим строчку:
и после нее вставляем это:
;
4. В том же файле components/registration/frontend.php находим это:
и меняем на это:
Кто ставил выбор города при регистрации не забываем вставить ".$new_user_id.", '$city', вместо "$new_user_id.", '';
5. В том же файле если не включена активация по email находим это:
а если включена активация по email то это:
и сразу после него вставляем это:
Теперь вы поняли зачем нужен выбор пола??? Чтобы для Мужчин и Женщин выбирать из разных наборов аватаров.
После распаковки архива у вас в папке /images/users/avatars/ появиться папка rand_ava а в ней папка для Мужчин m для Женщин f, вот в эти папки и можете лить свои наборы аватаров, названия аватаров может быть любым количество тоже любое, на ваше желание и вкус.
И так вроде все, ах да вот ДЕМО регистрируемся не загружая аватар и смотрим каким вас аватаром адарил сайт, кстати не забываем выбирать пол.
Точно работает на Instant 1.8, на других не проверял.
PS. С удовольствием приму благодарности
реквизиты на стене.
Тогда то я и захотел, сделать загрузку аватара при регистрации, в блогах уже была такая реализация, но она была платная, а покупать мне не хотелось😊в один прекрасный момент я наконец то понял как это сделать, но тогда встала другая проблема, а что делать если пользователь не выбрал аватар, надо либо делать выбор аватара обязательным либо сделать возможность установки случайного аватара, вот как раз таки как сделать второе я и расскажу:
1. Скачиваем архив rand_ava.zip, без страха распаковываем в корень сайта, в архиве 100 мужских и 100 женских аватаров и больше ничего;
2. В файле ВАШ_ШАБЛОН/components/com_registration.tpl вставьте в любое удобное для вас место ставите это:
<tr> <td valign="top" class=""> <div><strong>Аватар:</strong></div> <div><small>Если вы не загрузите Аватар, вам будет установлен случайный Аватар</small></div> </td> <td> <input name="picture" type="file" id="picture" size="30" /> </td> </tr> <tr> <td valign="top" class=""><strong>Пол:</strong></td> <td valign="top"> <select name="gender" id="gender" style="width:190px"> <option value="">Выберите Пол</option> <option value="m">Мужской</option> <option value="f">Женский</option> </select> <span class="regstar">*</span> </td> </tr>
Там же это:
<form id="regform" name="regform" method="post" action="/registration">
<form id="regform" name="regform" method="post" action="/registration" enctype="multipart/form-data">
// Если есть опция показывать icq при регистрации, то проверяем if ($cfg['ask_icq']){ $icq = $inCore->request('icq', 'str', ''); } else { $icq = ''; }
// Проверяем Пол $gender = $inCore->request('gender', 'str'); if(!$gender) { $msg .= 'Вы не указали свой <b>Пол</b>!'; } $uploaddir = PATH.'/images/users/avatars/'; $realfile = $_FILES['picture']['name']; $inCore->includeGraphics(); //Проверяем аватар if ($realfile) { if ($ext != 'jpg' and $ext != 'jpeg' and $ext != 'gif' and $ext != 'bmp' and $ext != 'png'){ $msg .= 'Ошибка! Разрещенные расширения для Аватара: <b>.jpg</b> <b>.jpeg</b> <b>.gif</b> <b>.bmp</b> <b>.png</b> '; } }
4. В том же файле components/registration/frontend.php находим это:
//create advanced user profile if ($new_user_id){ $usr = $inDB->fetch_assoc($result); $sql = "INSERT INTO cms_user_profiles (user_id, city, description, showmail, showbirth, showicq, karma, imageurl, allow_who) VALUES (".$new_user_id.", '', '', '0', '0', '1', '0', '', 'all')"; $inDB->query($sql) ; $user_array['id'] = $new_user_id; cmsCore::callEvent('USER_REGISTER', $user_array); }
//create advanced user profile if ($new_user_id){ $usr = $inDB->fetch_assoc($result); $sql = "INSERT INTO cms_user_profiles (user_id, city, description, showmail, showbirth, showicq, karma, imageurl, allow_who, gender) VALUES (".$new_user_id.", '', '', '0', '0', '1', '0', '', 'all', '$gender')"; $inDB->query($sql) ; $user_array['id'] = $new_user_id; cmsCore::callEvent('USER_REGISTER', $user_array); }
5. В том же файле если не включена активация по email находим это:
// Регистрируем событие 'object' => '', 'user_id' => $new_user_id, 'object_url' => '', 'object_id' => $new_user_id, 'target' => '', 'target_url' => '', 'target_id' => 0, 'description' => '' )); $inPage->includeTemplateFile('special/regcomplete.php'); if ($cfg['send_greetmsg']){ $model->sendGreetsMessage($new_user_id, $cfg['greetmsg']); }
if ($is_locked){ sendActivationNotice($send_pass, $new_user_id); $inPage->includeTemplateFile('special/regactivate.php');
Теперь вы поняли зачем нужен выбор пола??? Чтобы для Мужчин и Женщин выбирать из разных наборов аватаров.
После распаковки архива у вас в папке /images/users/avatars/ появиться папка rand_ava а в ней папка для Мужчин m для Женщин f, вот в эти папки и можете лить свои наборы аватаров, названия аватаров может быть любым количество тоже любое, на ваше желание и вкус.
И так вроде все, ах да вот ДЕМО регистрируемся не загружая аватар и смотрим каким вас аватаром адарил сайт, кстати не забываем выбирать пол.
Точно работает на Instant 1.8, на других не проверял.
PS. С удовольствием приму благодарности

Вы не указали свой Пол!
В файле ВАШ_ШАБЛОН/components/com_registration.tpl
Это:
php редактором посмотри после if .
<form id="regform" name="regform" method="post" action="/registration">
эту строку менять не первую!а вторую!
Скорее всего мой вопрос не по теме, но здесь звучало мнение, что можно включить принудительную, то есть, обязательную загрузку, или включение аватара пользователем. Может быть кто-то знает как это сделать, а то я не нашел где это включить?
Спасибо!
//Проверяем аватар
Dag Student, а как вы город в форму регистрации вывели?
видел подобное здесь: http://instantcms.ru/forum/thread1114.html но это походу для старых версий, не работает
вместо 3го пишем это:
1) Как сделать, что бы при неверном заполнении какого-либо поля и последующим сообщением об этом на вновь открывшейся странице регистрации данные о выбранном поле сохранялись.
2) Можно ли выполнить какой то sql-запрос, что бы у уже зарегистрированных пользователей на сайте в случайном порядке изменились аватары на загруженные в какую-либо папку на сервере?
вопрос к админам подобное решение достойно войти в релиз?