Jump to content
  • 0
Vallo

Campo utente personalizzato

Question

Vallo

Ciao a tutti,

avrei una domanda per quanto riguarda la personalizzazione dei compi del profilo utente.

Ho letto la guida presente nel sito ufficiale, ma non ho trovato la risposta che sto cercando: https://invisioncommunity.com/4guides/members-and-groups/custom-profile-fields-r172/

Vorrei creare un campo "Nickname" dove l'utente dovrà inserire un suo nickname. Vorrei che però quel campo sia affiancato ad un altro campo contenente una spunta. Se l'utente metterà la spunta, quando il nickname verrà mostrato nel profilo, verrà affiancato da una piccola immagine.

Utilizzando la sezione "display formatting" però non riesco a capire se posso accedere ad altri dati di altri campi per poter aggiungere o rimuovere una piccola icona al testo che viene mostrato all'interno del campo personalizzato nickname.

 

Spero di essere stato chiaro!😅

Share this post


Link to post
Share on other sites

8 answers to this question

Recommended Posts

  • 0
Askancy

Se ho capito bene tu vuoi creare due campi extra agli utenti, un checkbox (con una spunta, quindi campo singolo) e un input con il nickname giusto? Quando uno flagga il checkbox e inserisce il nickname appare il nome utente?

Non è una cosa che permette di fare semplicemente IP.Board, però si potrebbe ottenere un risultato lavorando sul template customFieldsDisplay creando una condizione, andrebbe però visto come estrarre il dato da fargli confrontare... Nell'altro caso, creare un hook personalizzato, mi potresti spiegare a cosa ti serve far flaggare la casella?

 

Share this post


Link to post
Share on other sites
  • 0
Vallo

Scusami, forse non mi sono spiegato molto bene io, cerco di farti un esempio in modo da toglierti ogni dubbio.

Sotto ogni avatar, nella lista di informazioni pubbliche di ogni utente, vorrei mostrare un nuovo campo chiamato “macchina”. Ogni utente può inserire il modello della propria macchina, in modo da mostrarlo a tutti. Nell’impostazioni del profilo peró, accanto al field di testo “macchina”, vorrei però inserire un check box chiamato “d’epoca”. Se un utente inserisce il modello della sua macchina, e in aggiunta spunta il check box, quando verrà mostrato il modello della sua macchina, verrà mostrata anche una piccola icona subito a fianco del testo del modello della macchina. Una cosa de tipo:

Modello: Ferrari🐴

Se invece non viene spuntata il check box verrà semplicemente mostrato il campo modello, ma senza icona a fianco. Esempio:

Modello: Ferrari

 

Spero di essere stato un po’ più chiaro adesso!🤗

Edited by Vallo

Share this post


Link to post
Share on other sites
  • 0
Askancy

Ho fatto diverse prove senza risultati, mi sto informando se è possibile effettuare questa cosa senza la creazione di un hook.

Share this post


Link to post
Share on other sites
  • 0
Vallo
2 ore fa, Askancy ha scritto:

Ho fatto diverse prove senza risultati, mi sto informando se è possibile effettuare questa cosa senza la creazione di un hook.

Oh, grazie per l’interesse!😊

per caso sai dirmi dove posso trovare guide base per la creazione di hook? Alla fine è questione di inserire due campi nel profilo, quindi non penso che sia una cosa troppo complicata da programmare nonostante sia un neofita nel mondo di questa piattaforma.

Conosco già un po’ di php, ma non ho assolutamente idea su dove iniziare a mettere le mani per creare un hook compatibile su invision.

Share this post


Link to post
Share on other sites
  • 0
maverix80
Il 15/3/2020 at 19:36, Vallo ha scritto:

Oh, grazie per l’interesse!😊

per caso sai dirmi dove posso trovare guide base per la creazione di hook? Alla fine è questione di inserire due campi nel profilo, quindi non penso che sia una cosa troppo complicata da programmare nonostante sia un neofita nel mondo di questa piattaforma.

Conosco già un po’ di php, ma non ho assolutamente idea su dove iniziare a mettere le mani per creare un hook compatibile su invision.

Devi utilizzare qualche hook che ti permette di creare campi personalizzati con icone. Se non hai tanta esperienza con php è meglio non toccare nulla altrimenti salta tutto

Share this post


Link to post
Share on other sites
  • 0
BomAle

Per creare una hook devi scaricare developer tool e seguire la guida base ma lo consiglio se vuoi cimentarti anche per altre modifiche e soprattutto installando in un ambiente locale non di produzione (visibile al pubblico).

però se utilizzi un tema unico ti conviene modificare direttamente nel modulo admincp il template specifico...

Share this post


Link to post
Share on other sites
  • 0
Askancy
5 minuti fa, BomAle ha scritto:

però se utilizzi un tema unico ti conviene modificare direttamente nel modulo admincp il template specifico...

Visto che hai creato diverso hook, conosci un modo per estrarre il dato?, facciamo caso che il dato di trova nel campo 26

Qualcosa simile a questo, che ovviamente da errore perché sembra che IPS\DB::i non usi il where (certo che potevano un po' allinearla la documentazione con code, strong... Non ci si capisce nulla):

{{if \IPS\Db::i()->select('field_26', 'core_pfields_content')->where('member_id', $author->member_id)->first() == '1'}}
	check
{{else}}
	no
{{endif}}

 

Share this post


Link to post
Share on other sites
  • 0
BomAle

meglio se utilizza la classe member in questo caso $author->profileFields()

Cita

$member->profileFields(): Return the custom profile fields for the member as an array of profile field objects.

https://invisioncommunity.com/4docs/advanced-usage/development/working-with-members-r179/

in ogni caso restituisce un array e basta individuare l'id X del gruppo a cui appartiene e l'id Y stesso del campo per risalire al valore

$author->profileFields()['core_pfieldgroups_X']['core_pfield_Y']
Edited by BomAle

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. to insert a cookie message.