stampare un menu di un altra pagina [RISOLTO]

La discussione sul CMS Made Simple in italiano.

Moderator: magallo

Post Reply
axxe16

stampare un menu di un altra pagina [RISOLTO]

Post 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?
Last edited by axxe16 on Mon May 03, 2010 10:34 am, edited 1 time in total.
axxe16

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

Post 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...  ???
Last edited by axxe16 on Mon May 03, 2010 10:37 am, edited 1 time in total.
axxe16

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

Post 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}
Post Reply

Return to “Italian - Italiano”