Page 1 of 1
Spazi nei sorgenti generati
Posted: Fri Nov 30, 2007 3:35 pm
by gaggia
Nella testata del sito ho un problema antipatico...
Il TemplateMenu che ho creato per visualizzare il menu cicla su tutti i menu e ne stampa solo alcuni seguendo delle regole.
Il menu dovrebbe essere
|nome|altronome|altronome|
Invece diventa
|nome |altronome |altronome |
quello spazio dopo ogni voce io non l'ho messo
Guardando il codice html generato dal cms si vede che tra un nome e l'altro esistono mooooooooooolti spazi tipo
|nome
|altronome
|altronome
e quindi il browser "giustamente" infila uno spazio aggiuntivo.
Sembra che per ogni riga del sorgente del templatemenu venga trasformata in un ritorno a capo.
Esiste un modo per ovviare a questo problema?
Probabilmente a mettere tutto su un'unica riga funzionerebbe, ma chiaramente sarebbe illeggibile il codice
Grazie
Re: Spazi nei sorgenti generati
Posted: Thu Dec 06, 2007 7:42 am
by gaggia

nessuno mi sa dare info? A voi non succede?
Grazie
Re: Spazi nei sorgenti generati
Posted: Thu Dec 06, 2007 9:05 am
by alby
gaggia wrote:
Sembra che per ogni riga del sorgente del templatemenu venga trasformata in un ritorno a capo.
Esiste un modo per ovviare a questo problema?
Probabilmente a mettere tutto su un'unica riga funzionerebbe, ma chiaramente sarebbe illeggibile il codice
Vero, il problema è questo.
O cambi lo stile (con lo spazio avanti-dietro) del menu o prova (rigorosamente NON testato!):
{capture assign="menu_senza_spazi"}{cms_module module="MenuManager" ... tue opzioni ... }{/capture}
{$menu_senza_spazi|regex_replace:"/[\r\t\n\s]/":""}
Alby
Re: Spazi nei sorgenti generati
Posted: Thu Dec 06, 2007 10:55 am
by gaggia
alby wrote:
O cambi lo stile (con lo spazio avanti-dietro) del menu
he he he...
E' la prima cosa che ho detto anch'io... sistemo aggiungendo spazio anche davanti... ma mi hanno detto NO, togli lo spazio dietro...
Accidenti
alby wrote:
o prova (rigorosamente NON testato!):
{capture assign="menu_senza_spazi"}{cms_module module="MenuManager" ... tue opzioni ... }{/capture}
{$menu_senza_spazi|regex_replace:"/[\r\t\n\s]/":""}
OK ci provo
Grazie come sempre!
Quando lo provo ti faccio sapere qui se è ok il codice
Re: Spazi nei sorgenti generati
Posted: Mon Dec 10, 2007 8:33 pm
by gaggia
alby wrote:
o prova (rigorosamente NON testato!):
{capture assign="menu_senza_spazi"}{cms_module module="MenuManager" ... tue opzioni ... }{/capture}
{$menu_senza_spazi|regex_replace:"/[\r\t\n\s]/":""}
Non funzia... cioè funziona troppo... toglie gli spazi ovunque quindi anche nei tag html tipo diventa
Volevo leggermente modificare il tutto utilizzando il ciclo while... una cosa tipo sostituisci 2 spazi con 1 spazio fino a quando non ci sono più 2spazi, in questo modo ci sarebbe sempre e solo al max 1 spazio... ma il ciclo while in smarty non esiste????
Come si può fare?
Re: Spazi nei sorgenti generati
Posted: Mon Dec 10, 2007 8:52 pm
by alby
gaggia wrote:
Volevo leggermente modificare il tutto utilizzando il ciclo while... una cosa tipo sostituisci 2 spazi con 1 spazio fino a quando non ci sono più 2spazi, in questo modo ci sarebbe sempre e solo al max 1 spazio... ma il ciclo while in smarty non esiste????
Prova questa, ma non sono sicuro dell'ultima sintassi
Code: Select all
{capture assign="menu_senza_spazi"}{cms_module module="MenuManager" ... tue opzioni ... }{/capture}
{$menu_senza_spazi|regex_replace:"/[\t\r\n]/":""|regex_replace:"/[\s\s+]/":" "}
Alby
Re: Spazi nei sorgenti generati
Posted: Mon Dec 10, 2007 9:04 pm
by gaggia
alby wrote:
Prova questa, ma non sono sicuro dell'ultima sintassi
Code: Select all
{capture assign="menu_senza_spazi"}{cms_module module="MenuManager" ... tue opzioni ... }{/capture}
{$menu_senza_spazi|regex_replace:"/[\t\r\n]/":""|regex_replace:"/[\s\s+]/":" "}
Niente.... gli spazi ci sono tutti

Re: Spazi nei sorgenti generati
Posted: Fri Dec 14, 2007 9:04 pm
by gaggia
alby wrote:
Prova questa, ma non sono sicuro dell'ultima sintassi
No non funziona. Ascolta io questo smarty... ce l'ho duro da mettere in testa... in perl il codice seguente funziona. Me lo converti cortesemente co'sto smarty?
Code: Select all
while( <STDIN> ) {
s/ +/ /g;
print( $_ );
}
1000 grazie
Re: Spazi nei sorgenti generati
Posted: Sat Dec 15, 2007 9:48 am
by alby
gaggia wrote:
alby wrote:
Prova questa, ma non sono sicuro dell'ultima sintassi
Difatti era sbagliata, prova questa che funziona:
Code: Select all
{...........|regex_replace:"/[\t\r\n]/":""|regex_replace:'/\s\s+/':' '}