Page 1 of 1

Recuperare la profondità di una pagina...

Posted: Sat Jan 30, 2010 6:31 pm
by axxe16
Ciao a tutti,
sto creando un sito a sezioni e mi semplificherebbe molto la vita recuperare la profondità della pagina in cui mi trovo.
usando  {get_template_vars}  ho dato un okkio alle varibaili disponibili e la cosa che si avvicina di più a quello che mi serve è $friendly_position ...
in realtà ho la necessità di distinguere le pagine di 2° livello dalle altre. Poi con content dump vado a recuperare da queste pagine le info che voglio far ereditare alle pagine della sezione.

Qualche idea?

Re: Recuperare la profondità di una pagina...

Posted: Thu Feb 11, 2010 7:39 am
by protempore
hai guardato cgSimpleSmarty? a me sembra che ti possa essere utile...

Re: Recuperare la profondità di una pagina...

Posted: Thu Feb 11, 2010 7:51 am
by axxe16
... in effetti non ci avevo pensato. Ho sempre usato content dump. Proverò grazie  ;D

Re: Recuperare la profondità di una pagina...

Posted: Sat Feb 13, 2010 10:44 am
by axxe16
ho dato un okkio a cgSimpleSmarty, in effetti fa un pò di tutto ma non ha un metodo per recuperare la profondità della pagina attuale, potrebbe comunque essere una base per fare un UDT che la recuperi.

Probabilmente giocando un pò con i metodi get_parent_alias e get_root_alias e un contatore è possibile determinare la profondità di una pagina

Re: Recuperare la profondità di una pagina...

Posted: Sat Feb 13, 2010 2:39 pm
by axxe16
A chi può interessare ne sono venuto a capo  ;D

Code: Select all

{counter start=0 assign='deep'}
{$cgsimple->get_parent_alias('',padre)}
{$cgsimple->get_root_alias('',root)}
{assign var="maxDeep" value=10}
{section name=rows loop=$maxDeep}
{if $padre != $root}
	{$cgsimple->get_parent_alias($padre,padre)}
    {counter assign='deep'}
{/if}
{/section}
la profondità di pagina è di {counter}
maxDeep indica il numero massimo di cicli.
Il ciclo verifica se l'alias del padre è differente dalla pagina root del ramo in cui ci troviamo, se la condizione è soddisfatta viene controllato il padre del padre ed incrementato il contatore.

Per renderlo più efficiente sarebbe necessario avere un comando per far finire il ciclo quando si ottiene home ma non ho trovato niene di simile a break in smarty...

Re: Recuperare la profondità di una pagina...

Posted: Wed Apr 14, 2010 9:22 pm
by alby
Forse (e dico forse) si potrebbe fare prima prendendo la hierarchy della pagina e controllare il numero di punti che contiene (0 allora root, 1 deep 1, .....)

Alby

Re: Recuperare la profondità di una pagina...

Posted: Thu Apr 15, 2010 8:58 am
by axxe16
Grazie del consiglio :) proverò!

Ben tornato  ;D