Page 1 of 1

Formattazione campi nei certificati

Posted: Tue Jan 08, 2019 5:32 pm
by EzioArnone
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

Re: Formattazione campi nei certificati

Posted: Tue Jan 08, 2019 5:37 pm
by max
Buonasera,
la cosa più semplice mi sembra fare in modo che il valore del campo sia scritto sempre in maiuscolo, no?

Re: Formattazione campi nei certificati

Posted: Tue Jan 08, 2019 5:43 pm
by EzioArnone
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

Re: Formattazione campi nei certificati

Posted: Tue Jan 08, 2019 6:06 pm
by alfa24
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.

Re: Formattazione campi nei certificati

Posted: Tue Jan 08, 2019 6:23 pm
by EzioArnone
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

Re: Formattazione campi nei certificati

Posted: Tue Jan 08, 2019 6:55 pm
by alfa24
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.

Re: Formattazione campi nei certificati

Posted: Tue Jan 08, 2019 6:57 pm
by EzioArnone
Ok.. potrebbe andar bene anche cambiarli tutti sempre in maiuscolo.
Grazie

Re: Formattazione campi nei certificati

Posted: Tue Jan 08, 2019 8:01 pm
by alfa24
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;
	}
}

Re: Formattazione campi nei certificati

Posted: Wed Jan 09, 2019 8:17 am
by EzioArnone
Grazie infinite.
Ci provo!