Creé un componente de perfil personalizado hace un tiempo. Lo que probablemente necesitará es una tabla de base de datos que asigne una ID de usuario a una URL de imagen de usuario, luego cree un archivo auxiliar para recuperar la imagen donde la necesite.
Para cargar la imagen, utilicé el administrador de imágenes de Joomla, creo ... para que pueda proporcionar un enlace que abra el administrador, tal vez proporcionarle una ruta modificada que dirija a una carpeta de imágenes de perfil. O, si (probablemente) no desea que vean todas las imágenes disponibles (es decir, de todos los usuarios), puede eliminar todos los campos del administrador de imágenes (es decir, su instancia del administrador de imágenes) eliminando los elementos secundarios correspondientes del documento cuando se carga, solo deja el botón "examinar" y la etiqueta que indica el nombre y la ruta del archivo, luego guarda la ruta (URL) en la tabla mencionada anteriormente.
Utilicé AJAX para lograr esto: al hacer clic en el enlace para cargar / cambiar la imagen, se llama a una función de JavaScript, pasando la identificación del usuario. La función javascript abre el administrador de imágenes, recupera la nueva ruta y crea una solicitud AJAX que pasa la identificación del usuario y la ruta a la tabla a un archivo php que consulta / actualiza la base de datos. Voilà.
¿Es esto lo que necesitabas? Avíseme si le parece interesante, me complacería proporcionarle más información. Aunque esto probablemente NO sea la mejor práctica.
Salud