Simple Machines Community Forum

SMF Support => Language Specific Support => Italiano (Italian) => Topic started by: marcoaureliocommodo on December 15, 2011, 04:46:29 PM

Title: variabile numerica con i bbc tag
Post by: marcoaureliocommodo on December 15, 2011, 04:46:29 PM
salve, vorrei creare un tag per il mio forum dove quando l'utente inserisce un numero (da 1 a 20) tra i tag, viene mostrato un determinato link, stabilito prima, come devo fare?
avevo pensato si utilizzare la funzione if di php, quindi if($variabile==10){echo <a href="http://indirizzo_sito"</a>}
però non so dove e come metterlo....
Title: Re: variabile numerica con i bbc tag
Post by: emanuele on December 15, 2011, 05:29:09 PM
Non ho capito quale codice hai già scritto e quale no, quindi resto sul generale.

Dovrai creare un nuovo tag bbc (questi sono definiti in Subs.php a partire da "$codes = array(", puoi usare il codice per il tag html come base), dovrà essere di tipo 'unparsed_content' (credo) e avere 'content' e 'validate', in validate potrai mettere gli if (o magari uno switch in questo caso) per verificare il numero inserito e visualizzare il link di conseguenza.
Title: Re: variabile numerica con i bbc tag
Post by: marcoaureliocommodo on December 16, 2011, 08:07:15 AM
non ho ancora scritto alcun codice
comunque il tag che volevo creare è per esempio: [num]1[/num] ecco, in questo caso al numero 1 corrisponde un link cioè viene fuori un link, in pratica scrivo così e nel posta si vede il link e basta

avevo pensato
array{
   'tag' => 'numero'
   'type' => 'unparsed_content'
   'content' => '<a href="$num"></a> '
   'validate' =>
}

su validate che devo mettere?, metto direttamente if($num==1).....?
Title: Re: variabile numerica con i bbc tag
Post by: emanuele on December 16, 2011, 09:09:44 AM

array(
'tag' => 'num',
'type' => 'unparsed_content' ,
'content' => '$1 ',
'validate' => create_function('&$tag, &$data, $disabled', '
$data = (int) $data;
if ($data == 0)
{
$data = \'il numero non è valido\';
}
elseif ($data == 1)
{
$data = \'<a href="http://www.indirizzo.num/ero/1">testo</a>\';
}
elseif ($data == 2)
{
$data = \'<a href="http://www.indirizzo.num/ero/2">testo</a>\';
}
'),
)
Title: Re: variabile numerica con i bbc tag
Post by: marcoaureliocommodo on December 16, 2011, 09:48:06 AM
grazie mille
ho provato a inserire delle parole al posto dei numeri, come faccio, che cosa devo cambiare?
Title: Re: variabile numerica con i bbc tag
Post by: emanuele on December 16, 2011, 01:32:51 PM
Esempio di quello che hai introdotto, di quello che hai ottenuto e del risultato che ti attendevi. ;)
Title: Re: variabile numerica con i bbc tag
Post by: marcoaureliocommodo on December 16, 2011, 04:28:08 PM
ho provato, ma qualsiasi parola scriva in mezzo ai tag, mi mostra solo il primo url, se invece provo con i numeri funziona
com'è possibile?

ah altra domanda, è possibile mettere un'immagine anche per questo nuovo tag (come quei quadratino del grassetto, sottolineato ecc?)?
Title: Re: variabile numerica con i bbc tag
Post by: emanuele on December 16, 2011, 05:28:03 PM
Quote from: marcoaureliocommodo on December 16, 2011, 04:28:08 PM
ho provato, ma qualsiasi parola scriva in mezzo ai tag, mi mostra solo il primo url, se invece provo con i numeri funziona
com'è possibile?
E' possibile perché nella tua richiesta hai specificato che bisognava usare un numero, quindi io ho inserito:
$data = (int) $data;
Che non fa altro che convertire qualunque cosa venga inserita tra i tag in un numero. Se si tratta di una stringa di testo questa viene convertita in 0.

Quote from: marcoaureliocommodo on December 16, 2011, 04:28:08 PM
ah altra domanda, è possibile mettere un'immagine anche per questo nuovo tag (come quei quadratino del grassetto, sottolineato ecc?)?
Sì, ma non mi ricordo più dov'è.
A tirare ad indovinare potrebbe essere in Subs-Editor.php.
Title: Re: variabile numerica con i bbc tag
Post by: marcoaureliocommodo on December 17, 2011, 02:20:12 PM
e utilizzando le parole, qual'è il procedimento?
Title: Re: variabile numerica con i bbc tag
Post by: emanuele on December 17, 2011, 02:36:47 PM
Togli la riga del post di prima e metterai altri if:
if ($data == 'parola')
Title: Re: variabile numerica con i bbc tag
Post by: marcoaureliocommodo on December 17, 2011, 02:39:50 PM
ok grazie mille