No quiero instalar ningún complemento de la comunidad para hacer eso.
Quiero proporcionar un formulario simple de carga de imágenes a mis usuarios registrados, lo que les permitirá cargar y cambiar su imagen de perfil en cualquier momento que quieran y también quiero recuperar esa imagen usando cualquier tipo de material variable de Joomla.
Quiero decir, al igual que $user->username
devuelve el nombre del usuario que inició sesión, ¿debería haber algo similar de variable (o script / código) que muestre la imagen de perfil del usuario conectado?
¿Alguna posibilidad?
fuente
La única forma de lograr esto sin usar una extensión de terceros sería escribir su propio complemento o comenzar a editar el complemento de perfil que viene con Joomla. Editar el archivo core es simplemente un área prohibida , por lo que ni siquiera comenzaré con eso.
Le sugiero encarecidamente que use un pequeño y simple complemento de terceros. Aquí hay un complemento que hace exactamente eso para Joomla 3.4, Imagen de perfil:
http://extensions.joomla.org/extensions/extension/clients-a-communities/user-management/profile-picture
Para acceder y mostrar el avatar, puede usar el siguiente código:
Consulte https://github.com/mosets/profilepicture para ver el resto de las API.
Espero que esto ayude
fuente
if( $profilepicture->exists() )
, se mostró un icono de imagen rota en la página, que intentaba obtener la imagen de esta rutahttp://localhost/mediaDSplg_user_profilepictureDSimagesDS200DS8a639a6998494f88b94826cfba68655179d010ee.jpg
mientras la ruta de la imagen real eshttp://localhost/media/plg_user_profilepicture/images/200/8a639a6998494f88b94826cfba68655179d010ee.jpg
(la barra inclinada) / está siendo reemplazada por DS en la url de ¿¿el camino??if( $profilepicture->exists() )
Anteriormente he usado un complemento llamado Easy Profile . Además de admitir Avatares, tiene varias otras mejoras sobre el sistema de perfil de usuario Joomla incorporado. La versión gratuita es algo limitada, pero por lo que recuerdo todavía es compatible con avatares.
Una de las funciones que encontré útiles fue la opción de establecer una redirección personalizada para el primer inicio de sesión después del registro, una función que utilizamos para mostrar las reglas de la comunidad a los nuevos usuarios.
Otras funciones disponibles (de acuerdo con la lista JED ) incluyen:
fuente
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
fuente
Esto se puede lograr utilizando campos personalizados hoy en día.
Mi respuesta anterior en caso de que alguien lo encuentre útil. Lo anterior es probablemente más relevante, esto es solo aquí para referencia.
Los campos personalizados (respuesta anterior) serían mi preferencia hoy.
Hay un complemento llamado Perfil de usuario. Solo ve a Plugins y búscalo. Tiene bastantes campos adicionales integrados, aunque no es una imagen. Si desea mejorarlo, puede seguir esta documentación. Advertencia. Sospecho que este complemento se eliminará ya que Fields lo hace menos útil.
https://docs.joomla.org/Creating_a_profile_plugin
No es demasiado difícil, probablemente parezca mucho más difícil de lo que es hasta que sepas cómo hacerlo. Si tuviera que hacerlo, seguramente miraría el código existente y luego trataría de adaptarlo yo mismo.
Aquí hay una lista de todos los tipos de campos de formulario actuales: https://docs.joomla.org/Standard_form_field_types
Pero es posible que desee ver específicamente https://docs.joomla.org/Media_form_field_type que le dará acceso al modal de administrador de medios.
fuente