Ottenere un campo è relativamente semplice, ma stranamente complicato, a volte. Il codice per ottenere un campo avrà bisogno di essere ottimizzato per misura il vostro sito, in modo da essere sicuro che siete pronti a fare un sacco di aggiornamenti fino ad ottenere il formato corretto. Per aiutare ci spiegheremo che cosa ogni formato e le modalità di visualizzazione fa.
In primo luogo è necessario stabilire $ utente se si utilizza codice esterno da Community Builder (vedere Creazione di Community Builder $ oggetto di utente ) se non si sta e si utilizza un plugin CB quindi utilizzare la seguente per stabilire $ cbUser.
$cbUser =& CBuser::getInstance( $user->id );
if ( ! $cbUser ) {
$cbUser =& CBuser::getInstance( null );
}
Ok, ora che cbUser $ è stata stabilita è il momento di esaminare la funzione getField per $ classe cbUser.
function getField( $fieldName, $defaultValue = null, $output = 'html', $formatting = 'none', $reason = 'profile', $list_compare_types = 0 ) {
La maggior parte della funzione getField non sarà di interesse a voi, ma verrà spiegato se si prevede di utilizzare getField in un modo più avanzato. Come si può vedere è possibile cambiare l'output, il formato e la ragione. Tutti e 3 dei quali sono molto importanti per il suo uso. list_compare_types $ sarà probabilmente mai essere utili per voi significativa, perché rappresenta semplicemente il suo modo di ricerca. Si prega di leggere le seguenti funzioni testo descrittivo per aiutare con i suoi parametri.
/**
* Formatter:
* Returns a field in specified format
*
* @param string $fieldName Name of field to render
* @param mixed $defaultValue Value if field is not in reach of viewer user or innexistant
* @param string $output 'html', 'xml', 'json', 'php', 'csvheader', 'csv', 'rss', 'fieldslist', 'htmledit'
* @param string $formatting 'tr', 'td', 'div', 'span', 'none', 'table'??
* @param string $reason 'profile' for user profile view, 'edit' for user profile edit, 'register' for registration, 'search' for searches, 'list' for lists
* @param int $list_compare_types IF reason == 'search' : 0 : simple 'is' search, 1 : advanced search with modes, 2 : simple 'any' search
* @return mixed
*/
Contrariamente a quanto implica il nome del campo si può anche utilizzare un ID campi invece del suo nome. Questa è pura preferenza personale, ma 1 deve essere previsto un campo valido esistenti o nulla sarà restituito.
Uscita di un campo è molto importante in quanto questo determina quale formato l'API sta per restituire il valore campi in HTML di default restituisce l'html completo e il rendering di un campo, ma se si modifica questo in formato CSV si otterrà il valore RAW di un campo. Se si ottiene il campo Avatar e hanno impostato come HTML per visualizzare l'immagine reale, ma se si imposta lo s CSV si otterrà solo il nome dell'immagine e non tornare in un tag di immagine.
Formattazione di un campo è generalmente lasciata intatta, ma con la formattazione è possibile aggiungere div, span, ecc. intorno a un campo per aiutare la visualizzazione migliore per la progettazione del codice.
La ragione di un campo determina dove il campo è situato. Un buon esempio è l'Avatar. Come si può vedere sul tuo profilo è pieno di dimensioni e non ha alcun collegamento, ma sembra completamente diverso da userlist. È possibile cambiare l'uscita per adattarsi quale posizione si vuole imitare. Se lo si lascia a difetto di profilo allora verrà visualizzato come se fosse l 'iscrizione sul profilo, ma una semplice modifica alla lista lo schermo come se fosse in onda su un userlist.
$avatar = $cbUser->getField( 'avatar', null, 'html', 'none', 'list' );