News:

Want to get involved in developing SMF, then why not lend a hand on our github!

Main Menu

variabile numerica con i bbc tag

Started by marcoaureliocommodo, December 15, 2011, 04:46:29 PM

Previous topic - Next topic

marcoaureliocommodo

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....

emanuele

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.


Take a peek at what I'm doing! ;D




Hai bisogno di supporto in Italiano?

Aiutateci ad aiutarvi: spiegate bene il vostro problema: no, "non funziona" non è una spiegazione!!
1) Cosa fai,
2) cosa ti aspetti,
3) cosa ottieni.

marcoaureliocommodo

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).....?

emanuele


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>\';
}
'),
)


Take a peek at what I'm doing! ;D




Hai bisogno di supporto in Italiano?

Aiutateci ad aiutarvi: spiegate bene il vostro problema: no, "non funziona" non è una spiegazione!!
1) Cosa fai,
2) cosa ti aspetti,
3) cosa ottieni.

marcoaureliocommodo

#4
grazie mille
ho provato a inserire delle parole al posto dei numeri, come faccio, che cosa devo cambiare?

emanuele

Esempio di quello che hai introdotto, di quello che hai ottenuto e del risultato che ti attendevi. ;)


Take a peek at what I'm doing! ;D




Hai bisogno di supporto in Italiano?

Aiutateci ad aiutarvi: spiegate bene il vostro problema: no, "non funziona" non è una spiegazione!!
1) Cosa fai,
2) cosa ti aspetti,
3) cosa ottieni.

marcoaureliocommodo

#6
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?)?

emanuele

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.


Take a peek at what I'm doing! ;D




Hai bisogno di supporto in Italiano?

Aiutateci ad aiutarvi: spiegate bene il vostro problema: no, "non funziona" non è una spiegazione!!
1) Cosa fai,
2) cosa ti aspetti,
3) cosa ottieni.

marcoaureliocommodo

e utilizzando le parole, qual'è il procedimento?

emanuele

Togli la riga del post di prima e metterai altri if:
if ($data == 'parola')


Take a peek at what I'm doing! ;D




Hai bisogno di supporto in Italiano?

Aiutateci ad aiutarvi: spiegate bene il vostro problema: no, "non funziona" non è una spiegazione!!
1) Cosa fai,
2) cosa ti aspetti,
3) cosa ottieni.


Advertisement: