[Typo3-UG Italy] inserire username/email in tt_board come defaults
Alessandro Tuveri
at at uniud.it
Mon Dec 19 17:44:44 CET 2005
PART II - perdonate ma ho perso i riferimenti del precedente email cosi' invio
come nuovo topic ---
Ciao a tutti
dopo alcuni giorni di prove e ore perse, ecco quanto scoperto circa
l'estensione
tt_board, che a me serve in quanto forum "smeplice" da usare per persone "non
utenti esperti", circa l'inserimento del valore USERNAME e USER_EMAIL nei
rispettivi campi di input (testo o nascosti).
Ho effettuato numerose o meglio una "infinita'" di prove, dopo aver cercato a
mia volta soluzioni nella lista pubblicata in TYPO3.ORG, usergroup EN.
La soluzione segnalata da jh in questa lista:
dai una occhiata li:
http://www.snippit.net/typoscript/tutorials/dynamic-forms.html
funziona limitatamente al caricamento in .value di variabili tipo GPvars o
variabili di pagina (quelle che si vedono in pratica con debug impostato = 1).
Il problema e' che in tt_board l'inserimento del campo <!--###USERNAME###-->
funziona solo ed esclusivamente nella "label", ma NON se utilizzato
come valore
o valore di un campo nascosto.
In alcuni casi viene addirittura restituito un valore del tipo
<!--INT_SCRIPT.abcedhjjj...--> oppure comunque lo username viene preso tale e
quale dopo interpretazione con htmlentities "sbattuto" come valore di campo,
oppure in altri casi il valore restituito e' USER_INT o USER (a seconda della
funzione utilizzata).
Xander Damen e Kay Grabfelder hanno affrontato il problema nella lista
in lingua
inglese suggerendo soluzioni anche piuttosto macchinose, oppure quella
di creare
due oggetti che richiamano rispettivamente (vedi sotto, ho preso spunto...) un
paio di funzioni-utente in PHP per leggere le variabili $GLOBALS di username e
email.
Per tagliare la testa al toro e stanco di tutte queste cose che non
portano a d
alcun frutto ho deciso di modificare comunque il codice PHP (anche se non e'
elegante e in attesa di qualche soluzione del solito genio di turno)
in questo
modo:
tt board
modificati i seguenti files, per permettere di nascondere username (author) ed
email di chi entra nel forum da registrato:
* ext_typoscript_setup.php *
commentate le righe shared.postform.dataArray delle proprietà .30 e .40 per
nascondere
visivamente i campi.
* ext/pi/board_sumbit.inc *
aggiunte in riga 40 le seguenti:
$this->newData["tt_board"]["NEW"]["author"] =
$GLOBALS['TSFE']->fe_user->user['username'];
$this->newData["tt_board"]["NEW"]["email"] =
$GLOBALS['TSFE']->fe_user->user['email'];
in questo modo "forzo" l'estensione a leggere comunque le variabili globali
'username' e 'email' per caricarle nei campi che nella riga seguente vengono
inviati al database.
I piu' bravi possono fare cosi':
1. tenere comunque le proprietà .30 e .40 dei form visibili
2. aggiungere una ulteriore riga per ogni variabile passata in
board_submit.inc
per controllare se la variabile ricevuta via form e' caricata; in caso
negativo inserire
il dato dell'utente registrato.
3. modificare la procedura affinche' esca e nulla venga scritto nel database
nel caso in cui l'utente non sia registrato, oppure
4. modificare TS al file ext_typoscript_setup.php per controllare se
c'e' o meno
un utente registrato e saltare le righe in oggetto.
Questa ultima soluzione e' valida per chi desidera un caricamento dei campi
obbligatorio per gli utenti registrati e non.
Io non approfondisco in quanto uso il forum SOLO per gli utenti registrati...
infine tt_board e' installato in LOCAL (non in global!); ho preso nota e in
caso di upgrade mi regolo...
Buon Natale a tutti!
--
ALEX TUVERI
CSIT - UNIV. DI UDINE
--------------------------------------
----------------------------------------------------------------------
SEMEL (SErvizio di Messaging ELettronico) - CSIT -Universita' di Udine
More information about the TYPO3-UG-italy
mailing list