Фотографії профілю для користувачів Joomla?


9

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

Відповіді:


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 Це можливо навіть за допомогою спеціальних полів .... не впевнений. Ніколи не використовував і не використовуватиме їх. Але так, ви можете скопіювати плагін основного профілю та відредагувати, що, якщо вам зручніше, однак, якщо є якісь оновлення чи виправлення помилок, зроблені в оригінальному плагіні, ви, ймовірно, ніколи не дізнаєтесь, якщо не будете слідувати репо ревізі
Lodder

Щоправда, але ви також можете перекрити плагіни. Не перевіряв, але цей stackoverflow.com/questions/17372379/…, схоже, свідчить про те, що хтось мав певний успіх у jw_sig. Я думаю, все залежить від того, чи зможете ви замінити XML так само, як ви можете з пунктами меню, але я вважаю, що це не так.
Eoin

7

Раніше я використовував плагін під назвою Easy Profile . Окрім підтримки Avatars, він має ряд інших удосконалень щодо вбудованої системи профілів користувачів Joomla. Безкоштовна версія дещо обмежена, але наскільки я пам’ятаю, вона все ще підтримує аватари.

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

Інші доступні функції (згідно списку JED ) включають:

  • Спеціальні поля
  • Аватар
  • Список користувачів та пошук
  • Основні умови роботи з групами користувачів
  • Перенаправлення
  • Джомсоціальний міст
  • Реєстрація та редагування перегляду вкладок профілю
  • Стиль імені
  • Реєстрація та редагування профілю Joomla
  • Автор та вміст плагіна
  • Joomla Native багатомовний
  • Тип входу
  • Контроль конфіденційності
  • Social Connect (лише версія Pro)

1
Ще один голос за Easy Profile, який я відкрив лише нещодавно. Це розширення значно перевищує мої очікування, і я зараз використовую його для створення простого бізнес-довідника-члена. Це, безумовно, варто грошей!
Ніл Робертсон

Ви також можете спробувати extensions.joomla.org/extension/joom-profile
Eoin

3

Нещодавно я створив спеціальний компонент профілю. Можливо, вам знадобиться таблиця бази даних, яка зіставляє ідентифікатор користувача з URL-адресою зображення користувача, а потім створіть файл-помічник, щоб отримати зображення там, де вам це потрібно.

Для завантаження зображення я використовував диспетчер зображень Joomla, я думаю ... так що ви можете просто надати посилання, яке відкриє менеджер, можливо, надайте йому модифікований шлях, що спрямовує папку із зображеннями профілю. Або, якщо ви (напевно) не хочете, щоб вони бачили всі доступні зображення (мається на увазі від усіх користувачів), ви можете видалити всі поля з диспетчера зображень (тобто вашого екземпляра диспетчера зображень), видаливши відповідні дочірні елементи з документа коли він завантажується, просто залишаючи кнопку «переглянути» та мітку із зазначенням імені та шляху до файлу, а потім збережіть шлях (URL) до зазначеної вище таблиці.

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

Це те, що тобі було потрібно? Повідомте мене, якщо це звучить для вас цікаво, я би радий надати більше інформації. Хоча це, мабуть, НЕ найкраща практика.

Ура


Вам не потрібно цього робити, якщо ви використовуєте вбудований Joomla! профільний плагін. Взаємозв'язок із базою даних вже буде побудований за допомогою XML. Вам теж не потрібен файл-помічник, я не думаю.
Eoin

3

Цього можна досягти, використовуючи користувацькі поля зараз у день.

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

Моя попередня відповідь у випадку, якщо хтось вважає це корисним. Сказане вище, мабуть, більш актуальне, це лише тут для довідки.

Сьогодні спеціальні поля (вище відповідь) будуть моїми перевагами.

Існує плагін під назвою Профіль користувача. Просто перейдіть до плагінів та знайдіть його. У ньому вбудовано досить багато додаткових полів, хоча це не зображення. Якщо ви хочете покращити його, ви можете дотримуватися цієї документації. Увага. Я підозрюю, що цей плагін буде видалено, оскільки поля роблять його менш корисним.

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, який надасть доступ до способу управління медіа-менеджером.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.