
Come usare Dynamic User Data
Con Dynamic User Data potete aggiungere dei nuovi campi nel modulo di registrazione dei nuovi
utenti.
Se ad esempio volete inserire un campo nel quale indicare gli anni d'età dell'utente, andate su
Amministrazione -> Gestione Utenti, cliccate su "Dynamic User Data" e scorrete la pagina verso
"Aggiungi campo". Adesso in "Etichetta campo" scrivete per esempio "_ETA" (senza le virgolette),
selezionate "Integer" per il tipo di dati e inserite 3 come lunghezza. Quindi premete "Invia".
Se adesso provate a registrare un nuovo utente, noterete che è comparso il nuovo campo _ETA. Questa
dicitura non è proprio chiarissima, non trovate? Tutto quello che dovete fare è aprire il file
/language/ita/dynamic_user.php e inserire la seguente riga di codice:
define('_ETA','La tua età');
In questo modo comparirà la stringa "La tua età" come descrizione del campo.
Supponete adesso di voler fare in modo che l'informazione sull'età non compaia quando un utente (non
un amministratore) visualizza le informazioni di un altro utente. Non volete cioè rendere pubblica l'età
dei vostri iscritti.
Per far ciò aprite il file /modules/NS-User/user.php e cercate la riga (a circa un terzo del documento) in
cui è scritto
case _UDCONST_INTEGER:
Più sotto dovrebbe esserci un codice di questo tipo:
$dynavar = pnUserGetVar($prop_label, $userinfo['pn_uid']); if ($dynavar) { $showmedyn[$prop_label_text] = $dynavar; } break;
Modificatelo come segue:
if ($prop_label != "_ETA") { $dynavar = pnUserGetVar($prop_label, $userinfo['pn_uid']); } if ($dynavar) { $showmedyn[$prop_label_text] = $dynavar; } break;
Naturalmente se inserite un altro tipo di campo dovete sostituire _ETA con il nome appropriato. Inoltre
se l'informazione non fosse un numero intero ma, per esempio, una stringa, dovete modificare il codice
subito dopo case _UDCONST_STRING: ... e così via.
E' un modo un po' drastico di risolvere il problema, ma funziona! Spero di esservi stato utile.
Pierandrea Pes
http://pierpes.altervista.org/