it-swarm-eu.dev

Immagini del profilo per gli utenti Joomla?

Non voglio installare alcun plugin della community per farlo.
Voglio fornire un semplice modulo di caricamento dell'immagine ai miei utenti registrati, che consentirà loro di caricare e modificare la loro immagine del profilo ogni volta che lo desiderano e voglio anche recuperare quell'immagine usando qualsiasi tipo di roba variabile Joomla.
Intendo proprio come $user->username restituisce il nome dell'utente che ha effettuato l'accesso, ci dovrebbe essere qualcosa di variabile (o script/codice) simile che visualizzerà l'immagine del profilo dell'utente che ha effettuato l'accesso?
Qualche possibilità?

9
saibbyweb

In realtà c'è un plugin abbastanza nuovo che potresti voler guardare chiamato Profilo Joom. Invece di un componente completo della community, è stato creato per espandere i profili utente. Ti dà anche la flessibilità di aggiungere più campi e sovrascrivere l'output. Non ci ho mai giocato molto, ma ne ho sentito parlare bene.

Profilo Joom

10
Brian Peat

L'unico modo per ottenere questo senza usare un'estensione di terze parti sarebbe scrivere il proprio plugin o iniziare a modificare il plugin del profilo fornito con Joomla. La modifica del file core è semplicemente un'area no go , quindi non inizierò nemmeno su quello.

Consiglio vivamente di utilizzare un plug-in di terze parti semplice e di piccole dimensioni. Ecco un plugin che fa proprio questo per Joomla 3.4, Immagine del profilo:

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

Per accedere e visualizzare l'avatar, è possibile utilizzare il seguente codice:

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

Dai un'occhiata a https://github.com/mosets/profilepicture per il resto delle API.

Spero che sia di aiuto

8
Lodder

In precedenza ho usato un plug-in chiamato Easy Profile . Oltre a supportare Avatar, ha molti altri miglioramenti rispetto al sistema di profili utente Joomla integrato. La versione gratuita è in qualche modo limitata, ma per quanto mi ricordo supporta ancora gli avatar.

Una delle funzioni che ho trovato utili è stata l'opzione di impostare un reindirizzamento personalizzato per il primo accesso dopo la registrazione, una funzione che abbiamo usato per mostrare le regole della comunità ai nuovi utenti.

Altre funzioni disponibili (secondo l'elenco JED ) includono:

  • Campi personalizzati
  • Avatar
  • Elenco utenti e ricerca
  • Condizioni di base con i gruppi utenti
  • Reindirizzare
  • Ponte Jomsocial
  • Visualizzazione e modifica delle schede del profilo
  • Stile del nome
  • Registrazione Joomla e modifica profilo
  • Plugin autore e contenuti
  • Joomla Native Multilanguage
  • Tipo di accesso
  • Controllo della privacy
  • Social Connect (solo versione Pro)
7
johanpw

Ho creato un componente del profilo personalizzato qualche tempo fa. Ciò di cui avresti probabilmente bisogno è una tabella di database che associa un ID utente a un URL di immagine dell'utente, quindi crea un file di supporto per recuperare l'immagine ovunque ne hai bisogno.

Per caricare l'immagine, ho usato il gestore delle immagini di Joomla, penso ... quindi potresti semplicemente fornire un link che apre il gestore, magari fornirgli un percorso modificato che indirizza a una cartella delle immagini del profilo. Oppure, se (probabilmente) non vuoi che vedano tutte le immagini disponibili (significato da tutti gli utenti), puoi rimuovere tutti i campi dal gestore delle immagini (ad esempio, l'istanza del gestore delle immagini) rimuovendo gli elementi figlio corrispondenti dal documento quando viene caricato, lasciando semplicemente il pulsante "Sfoglia" e l'etichetta che indica il nome e il percorso del file, quindi salva il percorso (URL) nella tabella sopra menzionata.

Ho usato AJAX per raggiungere questo obiettivo - facendo clic sul collegamento per caricare/modificare l'immagine chiama una funzione javascript, passando l'id utente. La funzione javascript apre il gestore delle immagini, recupera il nuovo percorso e crea an AJAX richiesta che passa l'ID utente e il percorso alla tabella a un file php che richiede/aggiorna il database. Voilà.

È questo ciò di cui avevi bisogno? Fammi sapere se ti sembra interessante, sarei felice di fornirti maggiori informazioni. Anche se questa probabilmente NON è la migliore pratica.

Saluti

3
elk

Ciò può essere ottenuto utilizzando i campi personalizzati ora al giorno.

enter image description here

La mia risposta precedente nel caso qualcuno lo ritenga utile. Quanto sopra è probabilmente più pertinente, questo è solo qui come riferimento.

I campi personalizzati (sopra la risposta) sarebbero la mia preferenza oggi.

C'è un plug-in chiamato Profilo utente. Vai su Plugin e cercalo. Ha alcuni campi aggiuntivi incorporati, anche se non un'immagine. Se vuoi migliorarlo puoi seguire questa documentazione. Attenzione. Sospetto che questo plugin verrà rimosso poiché Fields lo rende meno utile.

Joomla! User Profile Plugin

https://docs.joomla.org/Creating_a_profile_plugin

Non è troppo difficile, probabilmente sembra molto più difficile di quanto non sia fino a quando non sai come farlo. Se dovessi farlo, guarderei sicuramente il codice esistente e quindi proverei ad adattarlo da solo.

Ecco un elenco di tutti i tipi di campi del modulo corrente: https://docs.joomla.org/Standard_form_field_types

Ma potresti voler esaminare in particolare https://docs.joomla.org/Media_form_field_type che darà accesso al gestore multimediale modale.

3
Eoin