Page 1 of 1

stampare un menu di un altra pagina [RISOLTO]

Posted: Sun May 02, 2010 6:45 pm
by axxe16
Ciao a tutti,
ho la (malsana) necessità di stampare un menu "predefinito" di una sezione del sito  quando mi trovo in sezioni che non hanno figli.
Per sezioni intendo pagine di primo livello.

In pratica dovrei passare al menu quando $count è = 0 l'alias di un altra pagina dalla quale costruire il menu... qualche idea?

Re: stampare un menu di un altra pagina [RISOLTO]

Posted: Mon May 03, 2010 10:35 am
by axxe16
Ho risolto utilizzando CGSimpleSmarty  ;D

Questo script permette di stampare ricorsivamente i figli di un alias fornito come parametro
Per ogni nodo viene verificato se l'elemento selezionato ha figli e se sono visibili

Code: Select all

{$cgsimple->get_children('nomeAlias',false,'children')}
{if count($children)}
<ul class="firstLevel">
   {foreach from=$children item='child'}
      {if $child.show_in_menu}
      	<li><a href="index.php?page={$child.alias}">{$child.title}</a>
        	{$cgsimple->get_children($child.alias,false,'sub_children')}
        	{if count($sub_children)}
		<ul>
   			{foreach from=$sub_children item='sub_child'}
            {if $sub_child.show_in_menu}
            <li><a href="index.php?page={$sub_child.alias}">{$sub_child.title}</a></li>{/if}
            {/foreach}
        </ul>
        </li>{/if}
      {/if}
   {/foreach}
</ul> 
{/if}
Lo script in effetti ha un difetto... nel caso in cui una delle pagine sia in realtà un collegamento ad una pagina interna viene visualizzata la pagina originale e non il redirect, in pratica si bypassa il redirect. Non so se possa essere considerato un baco...  ???

Re: stampare un menu di un altra pagina [RISOLTO]

Posted: Mon May 03, 2010 10:46 am
by axxe16
Ecco usando selflink tutto torna a posto:

Code: Select all

{$cgsimple->get_children('nomeAlias',false,'children')}
{if count($children)}
<h2>Chi siamo</h2>
<ul class="firstLevel">
   {foreach from=$children item='child'}
      {if $child.show_in_menu}
      	<li>{cms_selflink page=$child.alias text= $child.title}
        	{$cgsimple->get_children($child.alias,false,'sub_children')}
        	{if count($sub_children)}
		<ul>
   			{foreach from=$sub_children item='sub_child'}
            {if $sub_child.show_in_menu}
            <li>{cms_selflink page=$sub_child.alias text="$sub_child.title}</li>{/if}
            {/foreach}
        </ul>
        </li>{/if}
      {/if}
   {/foreach}
</ul> 
{/if}