Photos de profil pour les utilisateurs de Joomla?

9

Je ne veux pas installer de plugin de communauté pour le faire.
Je veux fournir un simple formulaire de téléchargement d'image à mes utilisateurs enregistrés, ce qui leur permettra de télécharger et de modifier leur photo de profil à tout moment et je souhaite également récupérer cette image en utilisant n'importe quel type de variable Joomla.
Je veux dire, tout comme $user->usernamerenvoie le nom de l'utilisateur connecté, il devrait y avoir quelque chose de variable similaire (ou script / code) qui affichera l'image de profil de l'utilisateur connecté?
Des chances?

saibbyweb
la source

Réponses:

10

Il y a en fait un plugin assez nouveau que vous voudrez peut-être regarder appelé Joom Profile. Au lieu d'un composant communautaire complet, il est juste conçu pour étendre les profils d'utilisateurs. Il vous donne également la possibilité d'ajouter plus de champs et de remplacer la sortie. Je n'ai pas beaucoup joué avec, mais j'en ai entendu de bonnes choses.

Profil Joom

Brian Peat
la source
Il faut le noter, c'est un téléchargement payant.
Mohd Abdul Mujib
extensions.joomla.org/extension/joom-profile pourrait également fonctionner
Eoin
8

La seule façon d'y parvenir sans utiliser une extension tierce serait d'écrire votre propre plugin ou de commencer à éditer le plugin de profil fourni avec Joomla. Edition des fichiers de base est tout simplement pas aller région donc je vais même pas commencer à ce sujet .

Je vous suggère fortement d'utiliser un petit et simple plugin tiers. Voici un plugin qui fait exactement cela pour Joomla 3.4, Profile Picture:

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

Pour accéder et afficher l'avatar, vous pouvez utiliser le code suivant:

// 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();

Consultez https://github.com/mosets/profilepicture pour le reste des API.

J'espère que cela t'aides

Lodder
la source
En utilisant le code ci-dessus, rien ne s'affiche sur la page. Lorsque j'ai supprimé cette ligne du code ci-dessus if( $profilepicture->exists() ), une icône d'image cassée s'est affichée sur la page, qui essayait d'obtenir l'image à partir de ce chemin http://localhost/mediaDSplg_user_profilepictureDSimagesDS200DS8a639a6998494f88b94826cfba68655179d010ee.jpgalors que le chemin réel de l'image est http://localhost/media/plg_user_profilepicture/images/200/8a639a6998494f88b94826cfba68655179d010ee.jpg (la barre oblique) / est remplacé par DS dans l'url de le chemin??
saibbyweb
Et une autre chose que le code ci-dessus fonctionne, s'il est placé dans un article mais uniquement en supprimant cette ligneif( $profilepicture->exists() )
saibbyweb
@lodder ne ferait pas mieux de dupliquer le noyau Joomla! Plugin de profil utilisateur et ajout d'un champ?
Eoin
@Eoin Cela peut même être possible avec des champs personnalisés .... pas sûr. Jamais utilisé ou ne les utilisera. Mais oui, vous pouvez dupliquer le plugin de profil principal et le modifier si vous préférez, mais s'il y a des mises à jour ou des corrections de bugs apportées au plugin d'origine, vous ne le saurez probablement jamais à moins de suivre le repo avidement
Lodder
Vrai, mais vous pouvez également remplacer les plugins. Je ne l' ai pas testé mais ce stackoverflow.com/questions/17372379/… semble indiquer que quelqu'un a réussi avec jw_sig. Je suppose que tout dépend si vous pouvez remplacer le XML de la même manière que vous le pouvez avec les éléments de menu, mais je suppose que non.
Eoin
7

J'ai déjà utilisé un plugin appelé Easy Profile . En plus de prendre en charge les Avatars, il a plusieurs autres améliorations par rapport au système de profil utilisateur Joomla intégré. La version gratuite est quelque peu limitée, mais pour autant que je m'en souvienne, elle prend toujours en charge les avatars.

L'une des fonctions que j'ai trouvées utiles était l'option de définir une redirection personnalisée pour la première connexion après l'enregistrement, une fonction que nous avons utilisée pour afficher les règles de la communauté pour les nouveaux utilisateurs.

Les autres fonctions disponibles (selon la liste JED ) comprennent:

  • Les champs personnalisés
  • Avatar
  • Liste d'utilisateurs et recherche
  • Conditions de base avec les groupes d'utilisateurs
  • Réorienter
  • Pont Jomsocial
  • Onglets d'enregistrement et de modification du profil
  • Style de nom
  • Inscription et modification du profil Joomla
  • Auteur et plugin de contenu
  • Joomla Native Multilanguage
  • Type de connexion
  • Contrôle de confidentialité
  • Social Connect (version Pro uniquement)
johanpw
la source
1
Un autre vote pour Easy Profile que je n'ai découvert que récemment. Cette extension dépasse largement mes attentes et je l'utilise actuellement pour créer un annuaire professionnel simple pour les membres. Cela vaut vraiment le coup!
Neil Robertson
Vous pouvez également essayer extensions.joomla.org/extension/joom-profile
Eoin
3

J'ai créé un composant de profil personnalisé il y a quelque temps. Ce dont vous auriez probablement besoin, c'est d'une table de base de données mappant un ID utilisateur à une URL d'image utilisateur, puis créez un fichier d'aide pour récupérer l'image où vous en avez besoin.

Pour télécharger l'image, j'ai utilisé le gestionnaire d'images Joomla, je pense ... afin que vous puissiez simplement fournir un lien qui ouvre le gestionnaire, peut-être lui fournir un chemin modifié dirigeant vers un dossier d'images de profil. Ou, si vous (probablement) ne voulez pas qu'ils voient toutes les images disponibles (c'est-à-dire de tous les utilisateurs), vous pouvez supprimer tous les champs du gestionnaire d'images (c'est-à-dire, votre instance du gestionnaire d'images) en supprimant les éléments enfants correspondants du document quand il est chargé, il suffit de laisser le bouton "parcourir" et l'étiquette indiquant le nom et le chemin du fichier, puis enregistrez le chemin (URL) dans le tableau mentionné ci-dessus.

J'ai utilisé AJAX pour y parvenir - cliquer sur le lien pour télécharger / modifier l'image appelle une fonction javascript, en passant l'ID utilisateur. La fonction javascript ouvre le gestionnaire d'images, récupère le nouveau chemin et crée une demande AJAX en passant l'ID utilisateur et le chemin vers la table vers un fichier php interrogeant / mettant à jour la base de données. Voilà.

C'est ce dont vous aviez besoin? Faites-moi savoir si cela vous semble intéressant, je serais heureux de vous fournir plus d'informations. Bien que ce ne soit probablement PAS la meilleure pratique.

À votre santé

wapiti
la source
Vous n'avez pas vraiment besoin de le faire si vous utilisez le Joomla intégré! plugin de profil. La relation de base de données sera déjà établie à l'aide de XML. Vous n'avez pas vraiment besoin d'un fichier d'aide non plus, je ne pense pas.
Eoin
3

Cela peut être réalisé en utilisant des champs personnalisés de nos jours.

entrez la description de l'image ici

Ma réponse précédente au cas où quelqu'un trouverait cela utile. Ce qui précède est probablement plus pertinent, c'est juste ici pour référence.

Les champs personnalisés (réponse ci-dessus) seraient ma préférence aujourd'hui.

Il existe un plugin appelé Profil utilisateur. Allez simplement dans Plugins et recherchez-le. Il a quelques champs supplémentaires intégrés, mais pas une image. Si vous souhaitez l'améliorer, vous pouvez suivre cette documentation. Attention. Je soupçonne que ce plugin sera supprimé car Fields le rend moins utile.

Joomla!  Plugin de profil utilisateur

https://docs.joomla.org/Creating_a_profile_plugin

Ce n'est pas trop difficile, cela semble probablement beaucoup plus difficile que c'est jusqu'à ce que vous sachiez comment le faire. Si je devais le faire, je regarderais très certainement le code existant et essayerais de l'adapter moi-même.

Voici une liste de tous les types de champs de formulaire actuels: https://docs.joomla.org/Standard_form_field_types

Mais vous voudrez peut-être spécifiquement regarder https://docs.joomla.org/Media_form_field_type qui donnera accès au modal du gestionnaire de médias.

Eoin
la source