Я не хочу устанавливать какой-либо плагин сообщества, чтобы сделать это.
Я хочу предоставить простую форму загрузки изображений моим зарегистрированным пользователям, которая позволит им загружать и изменять изображение своего профиля в любое время, а также я хочу получить это изображение, используя любые переменные материалы Joomla.
Я имею в виду, точно так же, как $user->username
возвращает имя вошедшего в систему пользователя, должна быть какая-то аналогичная переменная (или скрипт / код), которая будет отображать изображение профиля вошедшего в систему пользователя?
Есть шансы?
источник
Единственный способ добиться этого без использования стороннего расширения - это написать собственный плагин или начать редактировать плагин профиля, который поставляется с Joomla. Редактирование файла дампа просто не идти область , так что я не буду даже начать на этом.
Я настоятельно рекомендую вам использовать небольшой и простой сторонний плагин. Вот плагин, который делает именно это для Joomla 3.4, Картинка профиля:
http://extensions.joomla.org/extensions/extension/clients-a-communities/user-management/profile-picture
Для доступа и отображения аватара вы можете использовать следующий код:
Проверьте https://github.com/mosets/profilepicture для остальных API.
Надеюсь это поможет
источник
if( $profilepicture->exists() )
, на странице отображался значок разорванного изображения, который пытался получить изображение по этому пути, вhttp://localhost/mediaDSplg_user_profilepictureDSimagesDS200DS8a639a6998494f88b94826cfba68655179d010ee.jpg
то время как фактический путь к изображениюhttp://localhost/media/plg_user_profilepicture/images/200/8a639a6998494f88b94826cfba68655179d010ee.jpg
(косая черта) / заменяется на DS в URL-адресе тропинка??if( $profilepicture->exists() )
Ранее я использовал плагин под названием Easy Profile . Помимо поддержки Avatars, он имеет несколько других улучшений по сравнению со встроенной системой профилей пользователей Joomla. Бесплатная версия несколько ограничена, но, насколько я помню, она по-прежнему поддерживает аватары.
Одной из функций, которые я нашел полезными, была опция установки пользовательского перенаправления для первого входа в систему после регистрации, функция, которую мы использовали для отображения правил сообщества новым пользователям.
Другие доступные функции (согласно списку JED ) включают в себя:
источник
Я создал собственный компонент профиля некоторое время назад. Вероятно, вам понадобится таблица базы данных, отображающая идентификатор пользователя в URL-адрес изображения пользователя, а затем создайте вспомогательный файл для извлечения изображения, где бы оно вам ни понадобилось.
Я думаю, что для загрузки изображения я использовал менеджер изображений Joomla ... чтобы вы могли просто предоставить ссылку, которая открывает менеджер, возможно, предоставить ему измененный путь к папке с изображениями профиля. Или, если вы (возможно) не хотите, чтобы они видели все доступные изображения (имеется в виду у всех пользователей), вы можете удалить все поля из диспетчера изображений (т.е. вашего экземпляра диспетчера изображений), удалив соответствующие дочерние элементы из документа когда он загружен, просто оставьте кнопку «Обзор» и метку, указывающую имя и путь к файлу, затем сохраните путь (URL) в таблице, упомянутой выше.
Для этого я использовал AJAX - щелчок по ссылке для загрузки / изменения изображения вызывает функцию javascript с передачей идентификатора пользователя. Функция javascript открывает диспетчер изображений, извлекает новый путь и создает запрос AJAX, передавая идентификатор пользователя и путь к таблице в файл php, запрашивающий / обновляющий базу данных. Вуаля.
Это то, что вам нужно? Дайте мне знать, если это звучит интересно для вас, я был бы рад предоставить больше информации. Хотя это, вероятно, не лучшая практика.
ура
источник
Это может быть достигнуто с помощью настраиваемых полей в настоящее время.
Мой предыдущий ответ на случай, если кто-нибудь найдет это полезным. Выше, вероятно, более уместно, это просто здесь для справки.
Пользовательские поля (ответ выше) будет моим предпочтением сегодня.
Есть плагин, который называется User Profile. Просто зайдите в Плагины и найдите его. В него встроено довольно много дополнительных полей, хотя это и не изображение. Если вы хотите улучшить его, вы можете следовать этой документации. Предупреждение. Я подозреваю, что этот плагин будет удален, так как Fields делает его менее полезным.
https://docs.joomla.org/Creating_a_profile_plugin
Это не так уж сложно, вероятно, это будет намного сложнее, чем пока вы не знаете, как это сделать. Если бы я сделал это, я бы наверняка посмотрел на существующий код, а затем попытался бы адаптировать его сам.
Вот список всех текущих типов полей формы: https://docs.joomla.org/Standard_form_field_types
Но вы можете посмотреть на https://docs.joomla.org/Media_form_field_type, который предоставит доступ к модальному медиа-менеджеру.
источник