[SOLVED] Cambiare titolo pagina
Moderator: magallo
[SOLVED] Cambiare titolo pagina
Ho una pagina che richiama un modulo.
Vorrei cambiare il titolo della pagina, tag {title}, in base ad una variabile definita nel modulo ed assegnata a Smarty.
Si può fare?
Ho provato in vari modi ma non ci riesco. Credo che il motivo sia che il modulo richiamato nel content della pagina viene elaborato successivamente al {title}...
ciao
Vorrei cambiare il titolo della pagina, tag {title}, in base ad una variabile definita nel modulo ed assegnata a Smarty.
Si può fare?
Ho provato in vari modi ma non ci riesco. Credo che il motivo sia che il modulo richiamato nel content della pagina viene elaborato successivamente al {title}...
ciao
Last edited by nervino on Mon Jun 28, 2010 5:43 pm, edited 1 time in total.
- protempore
- Power Poster
- Posts: 599
- Joined: Mon Jan 14, 2008 9:08 pm
Re: Cambiare titolo pagina
se inserita la variabile nel campo "Dati o logica Smarty specifica di questa pagina:" e con presente il tag {process_pagedata} in testa al template dovrebbe essere possibile richiamarne il valore anche nell'head.
An eye for an eye will make the whole world blind
Mahatma Gandhi (1869-1948)
Mahatma Gandhi (1869-1948)
Re: Cambiare titolo pagina
Il fatto è che se metto la var in quel campo, il titolo mi cambia in tutte le "pagine" del modulo (di elenco, di dettaglio ecc.) poiché il modulo è caricato sempre in quella stessa pagina.
Quello che vorrei riuscire a fare, se si può, è valorizzare la variabile nelle pagine php del modulo (action.elenco,php, action.dettaglio.php ecc.) e catturarla poi nella pagina del cms, magari dal campo "Dati o logica Smarty specifica di questa pagina:", ed assegnare il suo valore al tutle della pagina.
Sono stato abbastanza confuso?
grazie!
Quello che vorrei riuscire a fare, se si può, è valorizzare la variabile nelle pagine php del modulo (action.elenco,php, action.dettaglio.php ecc.) e catturarla poi nella pagina del cms, magari dal campo "Dati o logica Smarty specifica di questa pagina:", ed assegnare il suo valore al tutle della pagina.
Sono stato abbastanza confuso?
grazie!
- protempore
- Power Poster
- Posts: 599
- Joined: Mon Jan 14, 2008 9:08 pm
Re: Cambiare titolo pagina
non lo so... io però non ho capito nulla...Sono stato abbastanza confuso?

An eye for an eye will make the whole world blind
Mahatma Gandhi (1869-1948)
Mahatma Gandhi (1869-1948)
Re: Cambiare titolo pagina
Per festeggiare il nuovo bel look del forum, ci riprovo.
In una pagina di CMSMS (documenti) richiamo un modulo che ho fatto.
Nel template della pagina:
1) ho impostato il tag {title} che visualizza in alto il nome della pagina, ad esempio "Elenco documenti".
2) più sotto, in un DIV, ho inserito il tag {content}
Nel modulo seleziono i record dal DB e ne visualizzo il dettaglio.
Vorrei che nella visualizzazione del dettaglio, il {title} della pagina fosse diverso, ad esempio "Dettaglio".
Per farlo dovrei trovare un modo per sovrascrivere il tag {title} in base ad una variabile proveniente dal modulo, ma non so come fare.
In una pagina di CMSMS (documenti) richiamo un modulo che ho fatto.
Nel template della pagina:
1) ho impostato il tag {title} che visualizza in alto il nome della pagina, ad esempio "Elenco documenti".
2) più sotto, in un DIV, ho inserito il tag {content}
Nel modulo seleziono i record dal DB e ne visualizzo il dettaglio.
Vorrei che nella visualizzazione del dettaglio, il {title} della pagina fosse diverso, ad esempio "Dettaglio".
Per farlo dovrei trovare un modo per sovrascrivere il tag {title} in base ad una variabile proveniente dal modulo, ma non so come fare.
- protempore
- Power Poster
- Posts: 599
- Joined: Mon Jan 14, 2008 9:08 pm
Re: Cambiare titolo pagina
forse adesso è più chiaro...
scusa, ma il tag {title} non è mica obbligatorio metterlo...
al suo posto puoi mettere ciò che vuoi...
"Dettaglio" oppure {$variabilechetipare}
ad esempio per evidenziare il titolo di un evento gestito da un modulo da me creato ho messo:
{sitename} - {$item_evento.titolo}
e visualizzo in alto il titolo dell'evento... non della pagina
scusa, ma il tag {title} non è mica obbligatorio metterlo...
al suo posto puoi mettere ciò che vuoi...
"Dettaglio" oppure {$variabilechetipare}
ad esempio per evidenziare il titolo di un evento gestito da un modulo da me creato ho messo:
{sitename} - {$item_evento.titolo}
e visualizzo in alto il titolo dell'evento... non della pagina
Last edited by protempore on Mon Jun 28, 2010 9:18 am, edited 1 time in total.
An eye for an eye will make the whole world blind
Mahatma Gandhi (1869-1948)
Mahatma Gandhi (1869-1948)
Re: Cambiare titolo pagina
È vero. Però riesco ad inserire il contenuto della variabile solo nel tag dell'.
Nel modulo, ho creato la variabile $tit="scheda" e l'ho passata a Smarty.
Se nel tag del template la richiamo con {$tit}, mi stampa "scheda" nel tag title.
Se la richiamo più sotto, nel body, non mi stampa niente.
Ho provato anche a catturarla nell'head con capture:
e a stampare {$titolo} nel body. Sempre vuoto...
Non capisco dove sbaglio..
Nel modulo, ho creato la variabile $tit="scheda" e l'ho passata a Smarty.
Se nel tag del template la richiamo con {$tit}, mi stampa "scheda" nel tag title.
Se la richiamo più sotto, nel body, non mi stampa niente.
Ho provato anche a catturarla nell'head con capture:
Code: Select all
{capture assign='titolo'}
{$tit}
{/capture}
Non capisco dove sbaglio..
- protempore
- Power Poster
- Posts: 599
- Joined: Mon Jan 14, 2008 9:08 pm
Re: Cambiare titolo pagina
attenzione...
se hai creato la variabile $tit nel modulo, ma il modulo è predisposto per "sostituire" il contenuto del content a seconda di cosa deve visualizzare, la variabile che hai settato può essere che non sia effettivamente disponibile...
In pratica se hai settato la variabile nel modello che visualizza la lista, non esisterà più nello stesso modulo che visualizza il dettaglio anche se è proposto nella stessa pagina.
La variabile andrebbe settata in ogni modello che utilizza il modulo... sia esso lista, dettaglio o altro.
se hai creato la variabile $tit nel modulo, ma il modulo è predisposto per "sostituire" il contenuto del content a seconda di cosa deve visualizzare, la variabile che hai settato può essere che non sia effettivamente disponibile...
In pratica se hai settato la variabile nel modello che visualizza la lista, non esisterà più nello stesso modulo che visualizza il dettaglio anche se è proposto nella stessa pagina.
La variabile andrebbe settata in ogni modello che utilizza il modulo... sia esso lista, dettaglio o altro.
An eye for an eye will make the whole world blind
Mahatma Gandhi (1869-1948)
Mahatma Gandhi (1869-1948)
Re: Cambiare titolo pagina
La variabile la trovo valorizzata nel modello solo dopo il tag {content}. Prima è vuota.
Ho risolto catturando l'intero content prima di visualizzarlo:
Nel template:
In questo modo funziona.
Mi sfugge ancora il perché non serva il riferimento al nome del "capture" (titolo), ma funziona..
Ho risolto catturando l'intero content prima di visualizzarlo:
Nel template:
Code: Select all
</__body>
{capture assign='titolo'}
{content}
{/capture}
...
{content}
...
<div>
<h1 class="border_bottom">
{if isset($tit)}{$tit}{else}{title}{/if}</h1></div>
In questo modo funziona.
Mi sfugge ancora il perché non serva il riferimento al nome del "capture" (titolo), ma funziona..
- protempore
- Power Poster
- Posts: 599
- Joined: Mon Jan 14, 2008 9:08 pm
Re: Cambiare titolo pagina
beh... questo si intuisce facilmente...nervino wrote: ...Mi sfugge ancora il perché non serva il riferimento al nome del "capture" (titolo), ma funziona..
per generare la variabile "titolo" deve necessariamente essere processato {content} e, conseguentemente le variabili che esso genera...
un'altra soluzione potrebbe essere quella di inserire invece che {capture} un {content block=...} nella stessa posizione con l'opzione "assign"
{content block="test" oneline="true" assign="titolo"}
e nella pagina inserire il tag del modulo nel campo "test"
An eye for an eye will make the whole world blind
Mahatma Gandhi (1869-1948)
Mahatma Gandhi (1869-1948)