Formattazione campi nei certificati

Questioni sulle funzionalità di frontend come teacher area, registro valutazioni, ecc? Scrivetele qui!
Post Reply
EzioArnone
Newbie
Posts: 15
Joined: Mon Feb 26, 2018 4:44 pm

Formattazione campi nei certificati

Post by EzioArnone » Tue Jan 08, 2019 5:32 pm

Buonasera.
Mi scuso se l'argomento fosse stato già affrontato ma cercando sul forum non ho trovato nulla.
E' possibile far sì che un campo dei certificati venga formattato in maiuscolo (tipo la funzione "ucase" di VB?)
Grazie mille

User avatar
max
FormaLms Guru
Posts: 2090
Joined: Thu Mar 01, 2012 10:41 am

Re: Formattazione campi nei certificati

Post by max » Tue Jan 08, 2019 5:37 pm

Buonasera,
la cosa più semplice mi sembra fare in modo che il valore del campo sia scritto sempre in maiuscolo, no?
---------------------
Massimiliano Ferrari
Elearnit - Elearning e Knowledge Management
http://www.elearnit.net
http://www.linkedin.com/in/massimilianoferrari
m.ferrari[at]elearnit.net
http://elearnit.wordpress.com
Skype: m_ferrari_it

EzioArnone
Newbie
Posts: 15
Joined: Mon Feb 26, 2018 4:44 pm

Re: Formattazione campi nei certificati

Post by EzioArnone » Tue Jan 08, 2019 5:43 pm

Si Max è vero ma non sempre i clienti riescono a seguire le istruzioni per quanto cerchiamo di darle chiare.
Se ci fosse stato un modo per rendere un campo inserito dal cliente in sede di registrazione interamente in maiuscolo così da evitare attestati con nomi propri di persona o di città etc in minuscolo sarebbe molto comodo.
Grazie

alfa24
FormaLms Master
Posts: 484
Joined: Fri Nov 24, 2017 8:45 am
Version: forma.lms 1.4.2

Re: Formattazione campi nei certificati

Post by alfa24 » Tue Jan 08, 2019 6:06 pm

Devi modificare dei file di classe.
Puoi agire indipendente su campi standard utente (o tutti maiusc o come sono scritti), campi aggiuntivi utente (idem), campi corso (idem).
Se ti fai un'idea di cosa vuoi che sia sempre maiuscolo ti dico dove modificare.
I'm Jasmines, the One. If you need, you can contact me.

EzioArnone
Newbie
Posts: 15
Joined: Mon Feb 26, 2018 4:44 pm

Re: Formattazione campi nei certificati

Post by EzioArnone » Tue Jan 08, 2019 6:23 pm

Ho creato dei campi aggiuntivi specifici, che nel template attestato si ritrovano come [userfield_1] etc.
Questi campi (cognome e nome, città di residenza, etc) possono essere scritti erroneamente dall'allievo e se li ritrova così sull'attestato.
Vorrei una formattazione direttamente nell'attestato che porti tutto in maiuscolo.
Lavoro molto con Access e lì nei report uso ucase([nome_campo]).
Mi chiedevo se ci fosse qualcosa di simile su Forma
Grazie mille

alfa24
FormaLms Master
Posts: 484
Joined: Fri Nov 24, 2017 8:45 am
Version: forma.lms 1.4.2

Re: Formattazione campi nei certificati

Post by alfa24 » Tue Jan 08, 2019 6:55 pm

O tutti o nessuno, ripeto.
Se vuoi aggiungere un controllo che ti permetta di scegliere se uno specifico campo aggiuntivo debba essere trasformato, c'è bisogno di più lavoro.
I'm Jasmines, the One. If you need, you can contact me.

EzioArnone
Newbie
Posts: 15
Joined: Mon Feb 26, 2018 4:44 pm

Re: Formattazione campi nei certificati

Post by EzioArnone » Tue Jan 08, 2019 6:57 pm

Ok.. potrebbe andar bene anche cambiarli tutti sempre in maiuscolo.
Grazie

alfa24
FormaLms Master
Posts: 484
Joined: Fri Nov 24, 2017 8:45 am
Version: forma.lms 1.4.2

Re: Formattazione campi nei certificati

Post by alfa24 » Tue Jan 08, 2019 8:01 pm

In /appLms/lib/certificate/certificate.user.php, nella function getSubstitution() metti dei strtoupper() dove ti occorre. Es.:

Code: Select all

function getSubstitution() {
		
		$subs = array();
		
		$aclman =& Docebo::user()->getAclManager();
		$user = $aclman->getUser($this->id_user, false);
		
		$subs['[display_name]'] =  strtoupper(( $user[ACL_INFO_LASTNAME].$user[ACL_INFO_FIRSTNAME]
			? $user[ACL_INFO_LASTNAME].' '.$user[ACL_INFO_FIRSTNAME]
			: $aclman->relativeId($user[ACL_INFO_USERID]) ));
		
		$subs['[username]'] 	= strtoupper($aclman->relativeId($user[ACL_INFO_USERID]));
		$subs['[firstname]'] 	= strtoupper($user[ACL_INFO_FIRSTNAME]);
		$subs['[lastname]'] 	= strtoupper($user[ACL_INFO_LASTNAME]);
		
		//variable fields
		require_once($GLOBALS['where_framework'].'/lib/lib.field.php');
		
		$temp = new FieldList();
		$fields = $temp->getFlatAllFields();
		foreach ($fields as $key=>$value)
	    	$subs['[userfield_'.$key.']'] = strtoupper($temp->showFieldForUser($this->id_user, $key));
	    
		return $subs;
	}
}
I'm Jasmines, the One. If you need, you can contact me.

EzioArnone
Newbie
Posts: 15
Joined: Mon Feb 26, 2018 4:44 pm

Re: Formattazione campi nei certificati

Post by EzioArnone » Wed Jan 09, 2019 8:17 am

Grazie infinite.
Ci provo!

Post Reply