Immagini del profilo per gli utenti Joomla?


9

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 anche di recuperare quell'immagine usando qualsiasi tipo di roba variabile Joomla.
Voglio dire, proprio come $user->usernamerestituisce 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à?

Risposte:


10

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 di Joom


Va notato, è un download a pagamento.
Mohd Abdul Mujib,


8

L'unico modo per raggiungere questo obiettivo senza utilizzare un'estensione di terze parti sarebbe scrivere il proprio plug-in o iniziare a modificare il plug-in del profilo fornito con Joomla. La modifica del file core è semplicemente un'area vietata , 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


Utilizzando il codice sopra, nulla viene visualizzato sulla pagina. Quando ho rimosso questa riga dal codice sopra if( $profilepicture->exists() ), un'icona di immagine rotta è stata visualizzata sulla pagina, che stava cercando di ottenere l'immagine da questo percorso http://localhost/mediaDSplg_user_profilepictureDSimagesDS200DS8a639a6998494f88b94826cfba68655179d010ee.jpgmentre il percorso dell'immagine reale è http://localhost/media/plg_user_profilepicture/images/200/8a639a6998494f88b94826cfba68655179d010ee.jpg (la barra) / viene sostituito da DS nell'URL di il sentiero??
saibbyweb,

E un'altra cosa che funziona il codice sopra, se inserito in un articolo ma solo rimuovendo questa rigaif( $profilepicture->exists() )
saibbyweb

@lodder non farebbe meglio a duplicare il core di Joomla! Plugin del profilo utente e aggiunta di un campo?
Eoin,

@Eoin Questo potrebbe anche essere possibile con campi personalizzati .... non sono sicuro. Non li ho mai usati o li useremo. Ma sì, puoi duplicare il plug-in Profile principale e modificarlo se preferisci, tuttavia se ci sono aggiornamenti o correzioni di bug apportati al plug-in originale, probabilmente non lo saprai mai a meno che non segui avidamente il repository
Lodder

Vero, ma puoi anche sostituire i plugin. Non l'ho provato ma questo stackoverflow.com/questions/17372379/… sembra indicare che qualcuno ha avuto qualche successo con jw_sig. Immagino che tutto dipenda dal fatto che è possibile sovrascrivere l'XML nello stesso modo in cui è possibile con le voci di menu, ma suppongo di no.
Eoin,

7

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)

1
Un altro voto per Easy Profile che ho scoperto solo di recente. Questa estensione ha ampiamente superato le mie aspettative e la sto attualmente utilizzando per creare una semplice directory aziendale dei membri. Ne vale sicuramente la pena!
Neil Robertson,


3

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, si chiama una funzione javascript, passando l'ID utente. La funzione javascript apre il gestore delle immagini, recupera il nuovo percorso e crea una richiesta AJAX passando l'ID utente e il percorso della tabella a un file php che richiede / aggiorna il database. Ecco.

È 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


Non è necessario farlo se si utilizza Joomla integrato! plugin di profilo. La relazione con il database sarà già creata utilizzando XML. Non hai davvero bisogno di un file di supporto o non credo.
Eoin,

3

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

inserisci qui la descrizione dell'immagine

La mia risposta precedente nel caso qualcuno lo ritenga utile. Quanto sopra è probabilmente più rilevante, questo è solo qui per 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. Avvertimento. Sospetto che questo plugin verrà rimosso poiché Fields lo rende meno utile.

Joomla!  Plugin profilo utente

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 specificamente https://docs.joomla.org/Media_form_field_type che darà accesso al gestore multimediale modale.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.