Картинки профиля для пользователей Joomla?

9

Я не хочу устанавливать какой-либо плагин сообщества, чтобы сделать это.
Я хочу предоставить простую форму загрузки изображений моим зарегистрированным пользователям, которая позволит им загружать и изменять изображение своего профиля в любое время, а также я хочу получить это изображение, используя любые переменные материалы Joomla.
Я имею в виду, точно так же, как $user->usernameвозвращает имя вошедшего в систему пользователя, должна быть какая-то аналогичная переменная (или скрипт / код), которая будет отображать изображение профиля вошедшего в систему пользователя?
Есть шансы?

saibbyweb
источник

Ответы:

10

На самом деле это довольно новый плагин, который вы можете посмотреть под названием Joom Profile. Вместо полноценного компонента сообщества он просто предназначен для расширения профилей пользователей. Это также дает вам возможность добавлять больше полей и отменять вывод. Я не особо играл с этим, но слышал о нем много хорошего.

Joom Профиль

Брайан Пит
источник
Надо отметить, это платная загрузка.
Мохд Абдул Муджиб
extensions.joomla.org/extension/joom-profile также может работать
Eoin
8

Единственный способ добиться этого без использования стороннего расширения - это написать собственный плагин или начать редактировать плагин профиля, который поставляется с Joomla. Редактирование файла дампа просто не идти область , так что я не буду даже начать на этом.

Я настоятельно рекомендую вам использовать небольшой и простой сторонний плагин. Вот плагин, который делает именно это для Joomla 3.4, Картинка профиля:

http://extensions.joomla.org/extensions/extension/clients-a-communities/user-management/profile-picture

Для доступа и отображения аватара вы можете использовать следующий код:

// Import the Profile Picture library
jimport('profilepicture.profilepicture');

// Get the current user object
$user = JFactory::getUser();

// Instantiate the ProfilePicture class with User ID
$profilepicture = new ProfilePicture($user->get('id'));

// Output the picture
echo $profilepicture->toHTML();

Проверьте 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-адресе тропинка??
saibbyweb
И еще одна вещь, приведенная выше, работает, если поместить ее в статью, но только удалив эту строкуif( $profilepicture->exists() )
saibbyweb
@lodder лучше бы это сделать с дублированием ядра Joomla! Плагин профиля пользователя и добавление поля?
Eoin
@Eoin Это может быть даже возможно с пользовательскими полями .... не уверен. Никогда не использовал или буду использовать их. Но да, вы можете продублировать основной плагин Profile и отредактировать его, если захотите, однако, если будут какие-либо обновления или исправления ошибок, внесенные в оригинальный плагин, вы, вероятно, никогда не узнаете об этом, если не будете пристально следить за репо
Lodder
Правда, но вы также можете переопределить плагины. Не проверял его, но этот stackoverflow.com/questions/17372379/…, кажется, указывает на то, что кто-то имел некоторый успех с jw_sig. Полагаю, все зависит от того, можете ли вы переопределить XML так же, как и для пунктов меню, но я бы предположил, что нет.
Eoin
7

Ранее я использовал плагин под названием Easy Profile . Помимо поддержки Avatars, он имеет несколько других улучшений по сравнению со встроенной системой профилей пользователей Joomla. Бесплатная версия несколько ограничена, но, насколько я помню, она по-прежнему поддерживает аватары.

Одной из функций, которые я нашел полезными, была опция установки пользовательского перенаправления для первого входа в систему после регистрации, функция, которую мы использовали для отображения правил сообщества новым пользователям.

Другие доступные функции (согласно списку JED ) включают в себя:

  • Настраиваемые поля
  • Аватар
  • Список пользователей и поиск
  • Основные условия с группами пользователей
  • Перенаправление
  • Джомсоциальный мост
  • Регистрация и редактирование профиля Вкладки Просмотр
  • Название Стиль
  • Joomla Регистрация и редактирование профиля
  • Автор и контент плагин
  • Joomla родной мультиязычный
  • Тип входа
  • Контроль конфиденциальности
  • Social Connect (только Pro версия)
johanpw
источник
1
Еще один голос за Easy Profile, который я обнаружил только недавно. Это расширение значительно превосходит мои ожидания, и в настоящее время я использую его для создания простого бизнес-каталога участника. Это определенно стоит денег!
Нил Робертсон
Вы также можете попробовать extensions.joomla.org/extension/joom-profile
Eoin
3

Я создал собственный компонент профиля некоторое время назад. Вероятно, вам понадобится таблица базы данных, отображающая идентификатор пользователя в URL-адрес изображения пользователя, а затем создайте вспомогательный файл для извлечения изображения, где бы оно вам ни понадобилось.

Я думаю, что для загрузки изображения я использовал менеджер изображений Joomla ... чтобы вы могли просто предоставить ссылку, которая открывает менеджер, возможно, предоставить ему измененный путь к папке с изображениями профиля. Или, если вы (возможно) не хотите, чтобы они видели все доступные изображения (имеется в виду у всех пользователей), вы можете удалить все поля из диспетчера изображений (т.е. вашего экземпляра диспетчера изображений), удалив соответствующие дочерние элементы из документа когда он загружен, просто оставьте кнопку «Обзор» и метку, указывающую имя и путь к файлу, затем сохраните путь (URL) в таблице, упомянутой выше.

Для этого я использовал AJAX - щелчок по ссылке для загрузки / изменения изображения вызывает функцию javascript с передачей идентификатора пользователя. Функция javascript открывает диспетчер изображений, извлекает новый путь и создает запрос AJAX, передавая идентификатор пользователя и путь к таблице в файл php, запрашивающий / обновляющий базу данных. Вуаля.

Это то, что вам нужно? Дайте мне знать, если это звучит интересно для вас, я был бы рад предоставить больше информации. Хотя это, вероятно, не лучшая практика.

ура

лось
источник
Вам не нужно делать это, если вы используете встроенную Joomla! профиль плагин. Связь с базой данных уже будет построена с использованием XML. Тебе не нужен вспомогательный файл, я не думаю.
Eoin
3

Это может быть достигнуто с помощью настраиваемых полей в настоящее время.

введите описание изображения здесь

Мой предыдущий ответ на случай, если кто-нибудь найдет это полезным. Выше, вероятно, более уместно, это просто здесь для справки.

Пользовательские поля (ответ выше) будет моим предпочтением сегодня.

Есть плагин, который называется User Profile. Просто зайдите в Плагины и найдите его. В него встроено довольно много дополнительных полей, хотя это и не изображение. Если вы хотите улучшить его, вы можете следовать этой документации. Предупреждение. Я подозреваю, что этот плагин будет удален, так как Fields делает его менее полезным.

Joomla!  Плагин профиля пользователя

https://docs.joomla.org/Creating_a_profile_plugin

Это не так уж сложно, вероятно, это будет намного сложнее, чем пока вы не знаете, как это сделать. Если бы я сделал это, я бы наверняка посмотрел на существующий код, а затем попытался бы адаптировать его сам.

Вот список всех текущих типов полей формы: https://docs.joomla.org/Standard_form_field_types

Но вы можете посмотреть на https://docs.joomla.org/Media_form_field_type, который предоставит доступ к модальному медиа-менеджеру.

Йон
источник