Pagina 1 di 2
[BBCODE] table ...help...
Inviato: 08/09/2010, 14:27
da Alebrescia
Salve a tutti...
su phpbb.it ho trovato il codice per il più semplice e ben fatto bbcode per inserire delle tabelle nel forum...
(tralasciando il problema di sicurezza dell' uso del campo text in un tag, arginabile con simpletext e cambio del separatore)
il mio problema è il seguente...
se creo una tabella di "N" righe, prima della tabella mi si creano "N" righe vuote....
dal codice html verifico che mi vengono inseriti "N"
<br> che appunto mandano a capo....
qualcuno più esperto di me... riesce a capire dove è situato l' errore? Grazie mille!
Gringoire ha scritto:
Table
html:
Codice: Seleziona tutto
<table class="tablebg table1" bgcolor="#E1EBF2">
{TEXT}
</table>
Testo di aiuto
ed infine
Riga
html:
Codice: Seleziona tutto
<tr><script type='text/javascript'>
<!--
var string = '{TEXT}';
var colonne = string.split('|');
var i = 0;
for(i = 0; i< colonne.length; i++){
document.write("<td class='td1' colspan ='1'>"+colonne[i]+"</td>");
}
// -->
</script></tr>
Testo di aiuto:
Esempio risultato:
http://www.lanuovaera.org/phpBB3/viewto ... 1625#p1625
Ovviamente l'html va modificato in funzione del css da voi adottato. Questo bbcode funziona benissimo con il template prosilver. Volendo potete modificare il bbcode riga in modo che vi dia bgcolor alternati.
Ho provato una generazione automatica delle righe come ho fatto per le colonne, ma sembra possibile solo con un for in un for e sembra che la soluzione non piaccia al browser che si impalla.

byebye
spero non sia contro il regolamento:
FONTE
Re: [BBCODE] table ...help...
Inviato: 08/09/2010, 16:56
da Carlo
Puoi mostrarmi un esempio di BBCode da te utilizzato, ed uno screen del risultato di tale uso del BBCode?
Re: [BBCODE] table ...help...
Inviato: 09/09/2010, 1:00
da Alebrescia
eccoti uno stamp...
sono solo 3 righe e si vede poco.. ma quei 3 spazi non devono esistere ^_^
e questo è il codice di quel post:
Codice: Seleziona tutto
supercalifragilistichespiralidoso
[table][riga]Colonna 1 | Colonna 2 | Colonna 3 | Colonna 4[/riga]
[riga]1 | 2 | 3 | 4[/riga]
[riga]Primo | Secondo | Terzo|[/riga][/table]
[code][table]
[riga]Colonna 1 | Colonna 2 | Colonna 3 | Colonna 4[/riga]
[riga]1 | 2 | 3 | 4[/riga]
[riga]Primo | Secondo | Terzo|[/riga]
[/table]
[/code]
e questo l' htm generato in quel punto:
Codice: Seleziona tutto
<div class="content">supercalifragilistichespiralidoso<br><br><br><table class="tablebg table1" bgcolor="#e1ebf2">
<tbody><tr><script type="text/javascript">
<!--
var string = 'Colonna 1 | Colonna 2 | Colonna 3 | Colonna 4';
var colonne = string.split('|');
var i = 0;
for(i = 0; i< colonne.length; i++){
document.write("<td class='td1' colspan ='1'>"+colonne[i]+"</td>");
}
// -->
</script><td class="td1" colspan="1">Colonna 1 </td><td class="td1" colspan="1"> Colonna 2 </td><td class="td1" colspan="1"> Colonna 3 </td><td class="td1" colspan="1"> Colonna 4</td></tr><tr><script type="text/javascript">
<!--
var string = '1 | 2 | 3 | 4';
var colonne = string.split('|');
var i = 0;
for(i = 0; i< colonne.length; i++){
document.write("<td class='td1' colspan ='1'>"+colonne[i]+"</td>");
}
// -->
</script><td class="td1" colspan="1">1 </td><td class="td1" colspan="1"> 2 </td><td class="td1" colspan="1"> 3 </td><td class="td1" colspan="1"> 4</td></tr><tr><script type="text/javascript">
<!--
var string = 'Primo | Secondo | Terzo|';
var colonne = string.split('|');
var i = 0;
for(i = 0; i< colonne.length; i++){
document.write("<td class='td1' colspan ='1'>"+colonne[i]+"</td>");
}
// -->
</script><td class="td1" colspan="1">Primo </td><td class="td1" colspan="1"> Secondo </td><td class="td1" colspan="1"> Terzo</td><td class="td1" colspan="1"></td></tr>
</tbody></table><br><br><dl class="codebox"><dt>Codice: <a href="#" onclick="selectCode(this); return false;">Seleziona tutto</a></dt><dd><code>[table]<br>[riga]Colonna 1 | Colonna 2 | Colonna 3 | Colonna 4[/riga]<br>[riga]1 | 2 | 3 | 4[/riga]<br>[riga]Primo | Secondo | Terzo|[/riga]<br>[/table]</code></dd></dl></div>
se ti serve altro per capire il problema, chiedi pure....
io ho provato 3 temi diversi per escludere delle mod al template o modifiche del css che non gli gustano ma il problema resta...
Re: [BBCODE] table ...help...
Inviato: 09/09/2010, 7:47
da Carlo
Non ho capito che intendi con "quei tre spazi".
Puoi provare anche questo BBCode:
Tabella con parametri
Oppure posso vedere di fare una piccola modifica a questi 2 BBCode, aggiungendone un'altro e sistemando la sua struttura.
Re: [BBCODE] table ...help...
Inviato: 09/09/2010, 8:52
da Alebrescia
se guardi il codice con i bbcode che ti ho postato... e l' html sotto nella prima riga si vede subito quali sono i tre spazi (ops scusa, i tre "a capo", <BR>) che intendo...
dalla prima riga del sorgente della pagina che si genera...
<div class="content">supercalifragilistichespiralidoso<br><br><br><table class="tablebg table1" bgcolor="#e1ebf2">
<tbody><tr><script type="text/javascript">
adesso guardo quello che mi hai segnalato... anche se questa mi piaceva molto perchè di facilissimo utilizzo...
edit:
mi sembra più macchinosa la tabella che mi hai indicato...
quella che ti ho segnalato io è perfetta... se non fosse per quegli "a capo"
Re: [BBCODE] table ...help...
Inviato: 09/09/2010, 8:59
da Micogian
Avevo provato anch'io un bbcode "table" creato da Xiradorn e avevo il problema delle righe vuote prima della tabella.
Secondo me è un problema di CSS relativo ai tag utilizzati (table, td, ecc.), probabilmente un padding o un margin.
Poi non ho approfondito.
Re: [BBCODE] table ...help...
Inviato: 09/09/2010, 12:24
da Alebrescia
bingo ha scritto: probabilmente un padding o un margin.
Poi non ho approfondito.
da quel poco che sò, se fosse un padding o un margin, non credo che dal sorgente della pagina riuscirei a vedere N tag <BR> quante sono le righe della tabella......
considera che è l' obbiezione di un ignorante in materia la mia... ^_^
Re: [BBCODE] table ...help...
Inviato: 09/09/2010, 14:36
da Micogian
In effetti, considerando che i <br> corrispondono alle righe della tabella mi viene da pensare che una parte di codice viene posta al di fuori della tabella stessa e messa prima. Lo stesso tag <script> forse e questo avviene nella funzione bbcode.
Bisognerebbe intervenire con php nella funzione, magari con un str_replace('<br>','',$table)
Re: [BBCODE] table ...help...
Inviato: 09/09/2010, 15:24
da Carlo
Prova con un'altro semplice BBCode, per vedere se quei tre "a capo" vengono inseriti solo utilizzando quel BBCode o anche con altri.
Comunque, questo BBCode ha un aspetto negativo. Se per esempio l'utente finale (quello che legge la discussione), non ha il supporto per i JavaScript o lo ha disattivato, non vedrebbe bene la tabella, poichè il BBCode in questione utilizza un JavaScript per "separare" (se così lo possiamo definire) le colonne.
Re: [BBCODE] table ...help...
Inviato: 10/09/2010, 0:03
da Alebrescia
@carlo: ho una marea di bbcode aggiuntivi... mi sarei accorto di simili problemi... se puoi essere più specifico faccio tutte le prove che vuoi...
cmq ti consiglio davvero di provare questo bbcode... anche per sfizio... x' è davvero ottimo...
così poi lo testi e mi risolvi il problema hehehe
ovviamente scherzo... ringrazio entrambi per l' aiuto che mi date...
per l' aspetto negativo... beh... il js è difficile che sia disabilitato... e se uno l' ha disabilitato apposta e vuole navigare, sa benissimo che incontrerà dei problemi(non solo sul mio forum)... perciò sono della politica: affari suoi!
@bingo... non sono così esperto da poter metterci mano...
EDIT con soluzione....
Allora, un caro amico mio, nel cercare di darmi una mano a capire dove stava l' inghippo ha trovato questa pagina:
http://board.monstersgame.it/viewtopic.php?f=5&t=16260
in cui appunto si parla di bbcode etc...
verso fondo pagina si parla di tabelle... e anche se costruita diversamente, con altri tag(una replica dell' html), dice proprio di far attenzione e di non mandare a capo le righe... altrimenti si creerà un "a capo" prima della tabella....
ho provato ed è vero... funziona alla grande...
è poco elegante come workaround del problema in quanto dovendo riprendere una tabella per rieditarla probabilmente si diventa scemi a cercare i dati da modificare (se le celle sono parecchie)... ma per ora penso possa bastarmi...
Grazie ancora a tutti... e spero che un domani possa servire a qualcun altro questa discussione ^_^