ХАК: Загрузка аватара при регистрации InstantCMS 2

+52
5.75K
Многие пользователи моего сайта, почему то после регистрации не заполняют остальные поля в профиле, в частности поле аватара по этому решил создать поле в форме регистрации для загрузки аватара

Описание:

так как у каждого пользователя есть своя папка в /upload/ например для админа это /upload/u1, номер 1 это ID пользователя а у не зарегистрированных нет ID по этому все загруженные аватары загружается в папку /upload/000/u0/ так же если пользователь через Редактирование профиля удалить свой аватар то из этой папки фото тоже удалиться.

Установка:

Скачать и загрузить на сервер с заменой, всего один файл.

Демо

Скачать

+4
А.Саган А.Саган 9 лет назад #
Огромная благодарность за столь необходимое добавление и ваше желание делиться с другими!
+2
eoleg eoleg 9 лет назад #
Спасибо!
Полезный хак.
+1
omarov omarov 9 лет назад #
Как вариант:

Что имеем?
В системе есть возможность выбора/смены аватары из предложенных на сайте.

Что можно с этим сделать?
Заставить систему автоматически выставлять какой-нибудь аватар из предложенных на сайте.

Что мы получим?
1. Пользователи (возможно) будут менять уже несиандартный аватар, потому что он им не подходит по духу или просто не нравится.
2. Сайт станет немного красочней.
0
hummer7887 hummer7887 9 лет назад #
Вот это здорово! Вот бы для 1.10.3 так сделать..... +++++++++++
0
Слава Слава 9 лет назад #
Я уже где-то писал насчёт этого. Нужно просто зайти в БД, открыть таблицу "cms_users_fields". В ней открыть для редактирования поле "аватар",
и обнуллить столбец "is_system". Тогда в админке сайта "Компоненты-Профили пользователей-Поля профилей-Аватар" откроются основные настройки. Среди них будет настройка "Формат поля". В ней ставим галочку напротив значения "Поле должно быть заполнено". И тогда поле "Аватар" появится на странице регистрации обязательным для заполнения. После этого можно опять скрыть эти настрройки поставив "1" в столбце "is_system". Конечно это не вариант. Но создаст своего рода фильтр, который будет отсеивать тех, кто регистрируется ради праздного любопытства. Посмотрит сайт и забудет про него. А тот, кто реально хочет общяться, загрузит аватарку.
А для разработчиков скажу ещё раз. В админке нужно сделать возможность ставить любое поле на страницу регистрации.
Пример:
Разрешить пользователям заполнять поле при регистрации? - "Да", "Нет".
Поле должно быть заполнено? - "Да", "Нет".
Сейчас на странице регистрации появляется только то поле, которое обязательно для заполнения. А это не очень хорошо.
0
Слава Слава 9 лет назад #
Извините, ошибся. Если в столбце "is_system" снова поставить "1", то это поле не будет отображаться на странице регистрации.
0
БОРОДИСТ БОРОДИСТ 9 лет назад #
Свой вопрос решил именно так. Но настройки оставил "раскрытыми". Проблемы вроде от этого никакой не прибавится.
0
mullo mullo 9 лет назад #
Это для 1.10.3-4 ?
0
SpaceSel SpaceSel 9 лет назад #
Благодарю! Отличное дело делаете!
0
R161Net R161Net 9 лет назад #
Спасибо Нужная вещь!
0
ivanish ivanish 9 лет назад #
Пробовал по всякому, но не получается сделать так, чтобы регистрация шла дальше, если аватар не выбран.
И нолики ставил и галочки. Может быть не там копаю?
+2
My-InstantCMS.Ru My-InstantCMS.Ru 9 лет назад #
откройте файл form_registration.php и уберите строку 49 array('required')
0
ivanish ivanish 9 лет назад #
Спасибо!
Пришел за тем, чтобы как раз это написать. А то часто бывает, есть вопрос, его решили, а как - не пишут.
0
Игорь Lu Игорь Lu 8 лет назад #
Было бы не плохо, если бы можно было выбирать аватар из списка аватаров которые лежат на сервере.
Но всё равно +
-2
Андрей Андрей 8 лет назад #
Evanescence - скажите пожалуйста, а на авторизацию через uLogin этот хак никак не повлияет?
0
My-InstantCMS.Ru My-InstantCMS.Ru 8 лет назад #
Вроде нет, я еще не пользовался uLogin.
Установите если возникнут проблемы, удалите хак.
-2
Андрей Андрей 8 лет назад #
хак что надо! Нужный. Спасибо.
-2
Андрей Андрей 8 лет назад #
И еще вопрос, вот у меня сейчас стоят дефолтные аватары, то есть если юзер не ставит аватар, то грузится дефолтный, что будет если я уберу строку 49 в хаке? Он так и будет загружаться?
0
My-InstantCMS.Ru My-InstantCMS.Ru 8 лет назад #
Да, если уберете
Код PHP:
  1. array('required')
загрузка аватара будет не обязательным
-2
Андрей Андрей 8 лет назад #
Спасибо за ответ. А как можно добавить подсказку для поля, что-то вида <p>Рекомендуемый размер аватара 230x260 пикселей </p>
0
My-InstantCMS.Ru My-InstantCMS.Ru 8 лет назад #
Найти в строке 44
Код PHP:
  1. 'title' => 'Аватар',
нажать Enter и в новую строку (45) добавить
Код PHP:
  1. 'hint' => 'Рекомендуемый размер аватара 230x260 пикселей',
-1
Андрей Андрей 8 лет назад #
Благодарю! Как всегда на высоте!
-2
Андрей Андрей 8 лет назад #
Парвиз, добрый день, после обновления до 2.5.0 все аватары пользователей с этим хаком остаются в папке /upload/000/u0/ и не распределяются по папкам пользователей, подскажите пожалуйста как поправить?
-2
Андрей Андрей 8 лет назад #
Или так и задумано, и я просто не замечал этого?
0
My-InstantCMS.Ru My-InstantCMS.Ru 8 лет назад #
Так задумано, об этом написано в тексте поста.
Дело в том, что мы заранее не знаем ID будущего пользователя, по этому аватары загружается в u0 потом если пользователь изменить фото, картинка попадает на его папку
-2
Андрей Андрей 8 лет назад #
Всё понял, спасибо за разъяснение.
+1
iWeb iWeb 8 лет назад #
Огромное спасибо ! Очень полезная и нужная вещь! Работает на 2.4.0 ! Спасибо автору хака !
Жалко что пои обновлении версии придется заново мемеять код - информация для разработчиков INSTANTCMS
0
Def Def 7 лет назад #
а как вывести аватар в панели администратора при добавлении пользователя? есть варианты решения?
почему полезно - если все юзеры вбиваются админом, то удолбнее добавлять через админку, чем регать каждого через сайт
0
TOPg TOPg 7 лет назад #
для версии 2.6.0 не работает подгрузка аватара - пишет auth error
+1
My-InstantCMS.Ru My-InstantCMS.Ru 7 лет назад #
Да в версии 2.6 закрыли доступ к экшну upload гостям
0
TOPg TOPg 7 лет назад #
вариантов больше нет?
+1
Ris Ris 7 лет назад #
Редирект после авторизации на добавление аватара.
0
TOPg TOPg 7 лет назад #
на настройки профиля?
+2
My-InstantCMS.Ru My-InstantCMS.Ru 7 лет назад #
Есть но требует немного времени, по позже сделаю
-2
Андрей Андрей 7 лет назад #
А сейчас как поступить? Удалить пока это поле?
0
My-InstantCMS.Ru My-InstantCMS.Ru 7 лет назад #
Либо удалить поле, либо удалить из файла \system\controllers\images\frontend.php строку с 37 до 44
Код PHP:
  1. if (!cmsUser::isLogged()) {
  2. return $this->cms_template->renderJSON(array(
  3. 'success' => false,
  4. 'error' => 'auth error'
  5. ));
  6. }
0
Darlex Darlex 7 лет назад #
Тоже требуется для 2.6.1. До обновления использовал, было круто. Еще бы слово "Имя" в форме регистрации изменить на "Фамилия Имя Отчество". После последнего обновления вообще не найти.
+2
R161Net R161Net 7 лет назад #
Уважаемый Evanescence! Подскажите для версии 2.6.1. будет архив? Отличный хак лучше бы сделали это в коробке обязательное добавление аватара с возможностью отключать данную функцию.
0
R161Net R161Net 7 лет назад #
На 2.6.1 у меня не работает. Долгая загрузка и ошибка с чем это может быть связано?
+1
My-InstantCMS.Ru My-InstantCMS.Ru 7 лет назад #
Это из за того что, гостям запретили загрузку фото. Пока не нашел правильное решения проблемы.
Можете воспользоваться вот этим советом http://instantcms.ru/blogs/moi-razrabotki/hak-zagruzka-avatara-pri-registraci-instantcms-2.html#comment_95764
0
R161Net R161Net 7 лет назад #
Спасибо за ответ! Надеюсь будет решение данной проблемы.
0
R161Net R161Net 5 лет назад #
После последнего обновления не нахожу в файле \system\controllers\images\frontend.php то что нужно удалить!
Как быть в данном случае?
Что конкретно они опять изменили?
0
My-InstantCMS.Ru My-InstantCMS.Ru 5 лет назад #
Строка 68 до 75

Еще от автора

Компонент Находки и потеряшки
С помощью данного компонента можете организовать на сайте Бюро находок, где пользователи пишут о своих находках или потерянных вещах.
Разработка компонента Справочник
Анонс разработки компонента Справочник для InstantCMS2
Разработка компонента Викторина
Обсуждение разработки нового компонента Викторина или Тесты
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.