Recuperare la profondità di una pagina...

La discussione sul CMS Made Simple in italiano.

Moderator: magallo

Post Reply
axxe16

Recuperare la profondità di una pagina...

Post 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?
User avatar
protempore
Power Poster
Power Poster
Posts: 599
Joined: Mon Jan 14, 2008 9:08 pm

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

Post by protempore »

hai guardato cgSimpleSmarty? a me sembra che ti possa essere utile...
An eye for an eye will make the whole world blind
Mahatma Gandhi (1869-1948)
axxe16

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

Post by axxe16 »

... in effetti non ci avevo pensato. Ho sempre usato content dump. Proverò grazie  ;D
axxe16

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

Post 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
axxe16

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

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

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

Post 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
axxe16

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

Post by axxe16 »

Grazie del consiglio :) proverò!

Ben tornato  ;D
Post Reply

Return to “Italian - Italiano”