Vai al contenuto
  • 0

Custom Profile Field, Checkbox e immagini multiple


Alfonso Annarumma

Domanda

Ciao a tutti.

Volevo aggiungere la possibilità da parte dei moderatori di assegnare medaglie agli utenti che vincono dei contest sul forum.

 

Ho creato quindi un Custom Profile Field.

Fino quando uso la texarea o il dropdown menù a scelta singola non ci sono problemi.

 

Io vorrei usare le checkbox e avere le scelte multiple.

 

invece di questo:

<span class='row_title'>{title}:</span><span class='row_data'><img src=/awards/{key}.gif'></span>

vorrei qualcosa tipo:

<span class='row_title'>{title}:</span><span class='row_data'>per ogni chiave selezionata mostra:<img src=/awards/{key_selected}.gif'></span>

Quindi una medaglia per ogni chiave.

Link al commento
Condividi su altri siti

8 risposte a questa domanda

Messaggi raccomandati

  • 0

questa parte è sbagliata questa:

foreach ($award as $valori)						{							$premi .= <<<HTML 							<img src='public/awards/{$award}'>							HTML;						}

occorre usare

						foreach ($valori as $award)						{							list($chiave, $valore) = explode('=',$award);							if(in_array( $chiave, explode('|',$v['author']['field_12']) )){//usa $chiave(u) o $valore("Non espresso")								$premi .= <<<HTML <img src='public/awards/{$chiave}'>HTML;							}						}

$v['author']['field_12'] (è uguale a "|u|m|f|" nel mio caso)

 

e anche in fondo perchè dovresti sostituire:

$output = $premi; 

con

$output = substr_replace( $output, $premi . $tag, $pos, strlen( $tag ) ); $last   = $pos + strlen( $tag . $premi );
  • Like 1
Link al commento
Condividi su altri siti

  • 0

Magari la faccio più facile.

 

C'è modo di passare la variabile {content}, che è una stringa dove sono elencati i vari check, nel mio caso "a.gif,b.gif,c.gif", dentro il php per esploderla in un array alla virgola?

<php>$array_awards = explode(",", {content})ecc...</php>
Link al commento
Condividi su altri siti

  • 0

non puoi usare php da quell'impostazione.

puoi creare un hook che si aggancia ad un punto di userinfopane (template), e lavorare come piu ti piace.

se riesco piu tardi ti dò una base su cui lavorarci (il gancio/hook)

Link al commento
Condividi su altri siti

  • 0

Grazie mille :D.

 

Ma non c'è neanche il modi di accedere ad un determinato {key}?

Tipo {key{0]} ecc...

Link al commento
Condividi su altri siti

  • 0

Grazie mille :D.

 

Ma non c'è neanche il modi di accedere ad un determinato {key}?

Tipo {key{0]} ecc...

no neanche, perchè sostituisce "{key}" con la chiave a cui corrisponde la scelta...

campo_checkbox.xml

caricala nel pannello hooks

 

cambia field_18 con field_ID dove "ID" sta per l'id del campo :P

 

poi puoi ottenere il i dati del campo attraverso la cache: (mi baso ora su quello del genere che di solito è il 5)

$pfields = ipsRegistry::cache()->getCache( 'profilefields' );$valori = explode('|', $pfields['5']['pf_content']);//ora $valori è un array tipo array('u=undefined','f=female','m=male')

post-29-0-61371700-1412300353_thumb.png

Link al commento
Condividi su altri siti

  • 0

Gentilissimo, ma c'è qualcosa che non riesco a far funzionare perché non mi carica le pagine delle discussioni con l'hook attivo.

if ( $pos !== FALSE )				{					$premi ="";					if(!empty($v['author']['field_12']))					{						$pfields = ipsRegistry::cache()->getCache( 'profilefields' );						$valori = explode('|', $pfields['12']['pf_content']);												foreach ($award as $valori)						{							$premi .= <<<HTML 							<img src='public/awards/{$award}'>							HTML;						}						}															$output = $premi; 
Link al commento
Condividi su altri siti

Ospite
Questa discussione è chiusa.
  • Chi sta navigando   0 utenti

    • Nessun utente registrato visualizza questa pagina.
×
×
  • Crea Nuovo...

Informazioni importanti

Abbiamo inserito dei cookies nel tuo dispositivo per aiutarti a migliorare la tua esperienza su questo sito. Puoi modificare le impostazioni dei cookie, altrimenti puoi accettarli cliccando su continua. to insert a cookie message.