Page 1 of 1

Menu Template Toevoeging aan sub menu

Posted: Wed Mar 20, 2013 9:25 am
by pasmaskas
Beste CMSMS leden,

Ik ben een menu aan het omvormen naar CMSMS dat ziet er als volgt uit:

Code: Select all


<ul id="menu">
	<li><a href="#" title="title">Home</a></li>
	<li><a href="#" title="title">Sectionheader</a>
		<ul>
			<li><a href="#" title="title"><span>- </span>Submenu</a></li>
			<li><a href="#" title="title"><span>- </span> Submenu </a></li>
			<li><a href="#" title="title"><span>- </span> Submenu </a></li>
		</ul>
	</li>
	<li><a href="#" title="title">Contact</a></li>
</ul>
In de css plaats ik deze regel:

Code: Select all

#menu ul li span {
	display: none;
}
Zo is wat tussen <span> staat niet te zien in het menu. Dit heb ik zo gedaan zo dat het duidelijk is met dit script http://css-tricks.com/convert-menu-to-dropdown/ dat het een sub pagina is.

Mijn vraag is: Hoe krijg ik het <span> gedeelte verwerkt in onderstaand menu sjabloon zo dat alleen de sub pagina's het streepje krijgen?

Code: Select all

{if $count > 0}

<ul id="menu">
{foreach from=$nodelist item=node}
{if $node->depth > $node->prevdepth}
{repeat string='<ul>' times=$node->depth-$node->prevdepth}
{elseif $node->depth < $node->prevdepth}
{repeat string="</li></ul>" times=$node->prevdepth-$node->depth}
</li>
{elseif $node->index > 0}</li>
{/if}

{if $node->current == true}
<li><a href="{$node->url}" {if $node->target ne ""} target="{$node->target}"{/if}> {$node->menutext} </a>

{elseif $node->parent == true && $node->depth == 1 and $node->type != 'sectionheader' and $node->type != 'separator'}
<li><a href="{$node->url}" {if $node->target ne ""} target="{$node->target}"{/if}> {$node->menutext} </a>

{elseif $node->type == 'sectionheader'}
<li><a href="{$smarty.server.REQUEST_URI}#">{$node->menutext}</a>

{elseif $node->type == 'separator'}
<li>

{else}
<li><a href="{$node->url}"{if $node->target ne ""} target="{$node->target}"{/if}> {$node->menutext} </a>

{/if}

{/foreach}

{repeat string="</li></ul>" times=$node->depth-1}</li>
</ul>
{/if}
Alvast bedankt gr Pascal

Re: Menu Template Toevoeging aan sub menu

Posted: Wed Mar 20, 2013 2:15 pm
by velden
Uit de module help van Menu Manager:
$node->depth -- Depth (level) of this node in the current menu
Nu moet ik zeggen dat ik niet weet het het eerste level '1' is of '0' maar dat kun je makkelijk zelf even uitzoeken door te testen.

Dan plaats je op de diverse plaatsen in het menu template:

Code: Select all

...{if $node->depth > 1}<span>- </span>{/if}{$node->menutext}...

Re: Menu Template Toevoeging aan sub menu

Posted: Wed Mar 20, 2013 3:45 pm
by pasmaskas
Thnx Velden!

Het sjabloon is nu zo:

Code: Select all

{if $count > 0}

<ul id="menu">
{foreach from=$nodelist item=node}
{if $node->depth > $node->prevdepth}
{repeat string='<ul>' times=$node->depth-$node->prevdepth}
{elseif $node->depth < $node->prevdepth}
{repeat string="</li></ul>" times=$node->prevdepth-$node->depth}
</li>
{elseif $node->index > 0}</li>
{/if}

{if $node->current == true}
<li><a href="{$node->url}" {if $node->target ne ""} target="{$node->target}"{/if}> {$node->menutext} </a>

{elseif $node->parent == true && $node->depth == 1 and $node->type != 'sectionheader' and $node->type != 'separator'}
<li><a href="{$node->url}" {if $node->target ne ""} target="{$node->target}"{/if}> {$node->menutext} </a>

{elseif $node->type == 'sectionheader'}
<li><a href="{$smarty.server.REQUEST_URI}#">{$node->menutext}</a>

{elseif $node->type == 'separator'}
<li>

{elseif $node->depth > 1}
<li><a href="{$node->url}"{if $node->target ne ""} target="{$node->target}"{/if}><span>- </span> {$node->menutext} </a>

{else}
<li><a href="{$node->url}"{if $node->target ne ""} target="{$node->target}"{/if}> {$node->menutext} </a>

{/if}

{/foreach}

{repeat string="</li></ul>" times=$node->depth-1}</li>
</ul>
{/if}
Klopt hij zo?

Ik heb hem getest e hij werkt zo zie geen errors en een sub menu krijgt netjes een - er voor.

gr pascal

Re: Menu Template Toevoeging aan sub menu

Posted: Thu Mar 21, 2013 3:50 pm
by pasmaskas
Kan ik ook in het sjabloon in een sub menu de Sectionheader een <span> - </span> geven en de level daar na 2 streepjes zo als dit:

Code: Select all

		<ul id="menu">
				<li><a href="index.html" title="Homepage">Homepage</a></li>
				<li><a href="#" title="Level 1">Sectionheader 1</a>
					<ul>
                    	<li><a href="index.html" title="Level 2"><span>- </span>Level 2</a></li>
						<li><a href="# title="Level 2"><span>- </span>Sectionheader 2</a>
                        	<ul>
                            	<li><a href="index.html" title="Level 3"><span>- - </span>Level 3</a></li>
								<li><a href="index.html" title="Level 3"><span>- - </span>Level 3</a></li>
                            </ul>
                        </li>
						<li><a href="index.html" title="Level 2"><span>- </span>Level 2</a></li>
						<li><a href="index.html" title="Level 2"><span>- </span>Level 2</a></li>
					</ul>
				</li>
				<li><a href="index.html" title="Contact">Contact</a></li>
			</ul>
Ik heb het al geprobeert met dit:

Code: Select all

{elseif $node->depth > 1}
<li><a href="{$node->url}"{if $node->target ne ""} target="{$node->target}"{/if}><span>- </span> {$node->menutext} </a>

{elseif $node->depth > 1 and $node->type == 'sectionheader'}
<li><a href="{$smarty.server.REQUEST_URI}#"><span>- </span> {$node->menutext} </a>

{elseif $node->depth > 2}
<li><a href="{$node->url}"{if $node->target ne ""} target="{$node->target}"{/if}><span>- - </span> {$node->menutext} </a>
Alleen dat werkt niet. Weet iemadn wat ik fout doe ik neem aan dat de level daarna gewoon is?