[SOLVED] Menumanager level ausgeben ($node->depth)

Hilfe zu Modulen und Tags
Post Reply
User avatar
amh
Forum Members
Forum Members
Posts: 187
Joined: Sun Apr 17, 2005 2:40 pm

[SOLVED] Menumanager level ausgeben ($node->depth)

Post by amh »

Servus Zusammen,

leider komme ich mit Smarty nicht weiter  :'(

Code: Select all

{assign var="levelstr" value='<ul class="level-'.$node->depth.'">'}
{if $count > 0}
	<ul id="menu" class="">
	
	{foreach from=$nodelist item=node}
		{if $node->depth > $node->prevdepth}
			{repeat string=$levelstr 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}
Es ist das Ziel, dass das Level enthält und als (für das 2. Level) ausgegeben wird. Ich habe probiert und wende mich nun erschöpft an Euch.

Bin dankbar für Tipps. Mit dem assign in der 1. Zeile habe ich versucht eine Variable zusammenzubauen und dann als string auszugeben. Hat (bei mir) nicht geklappt.

Viele Grüße Andreas
Last edited by amh on Mon Aug 30, 2010 5:03 pm, edited 1 time in total.
__/\_|\/|_|-|__  --  designer not coder
nockenfell
Power Poster
Power Poster
Posts: 751
Joined: Fri Sep 12, 2008 2:34 pm

Re: Menumanager level ausgeben ($node->depth)

Post by nockenfell »

Warum nicht gleich direkt:

Code: Select all

<ul id="menu" class="level-{$node->depth}">
Vergiss das mit dem assign. Die weiteren Parameter des Menüs werden ja auch nicht anders eingefügt.
[this message is written with 100% recycled bits]
NaN

Re: Menumanager level ausgeben ($node->depth)

Post by NaN »

Geht leider beides nicht, da die Variable $node erst innerhalb der foreach-schleife existiert.

Aber

Code: Select all


{repeat string="<ul id='menu' class='level-$node->depth'>" times=$node->depth-$node->prevdepth}

gleich nach der if-Bedingung müsste funktionieren.
User avatar
amh
Forum Members
Forum Members
Posts: 187
Joined: Sun Apr 17, 2005 2:40 pm

Re: Menumanager level ausgeben ($node->depth)

Post by amh »

Herzlichen Dank Euch beiden. Leider hat es nicht geklappt.

@nockenfell: Ich habe Deinen Ansatz bereits selbst durchgespielt, aber ohne Erfolg. Ich habe es dennoch nochmals probiert und das ist der Fehler:
Catchable fatal error: Object of class stdClass could not be converted to string in /www/htdocs/w00a705d/tmp/templates_c/55e0c7cddbe6a4fa90fdc0e058f50d19^%%92^92B^92BBBFDE%%module_db_tpl%3AMenuManager%3Bfsp-menu.php on line 12
@NaN: Ich habe Deinen Ansatz kopiert, aber der Fehler ist der gleiche wir bei nockenfell  :'(  :'(

Hier mal »mein« kompletter Code:

Code: Select all

{if $count > 0}
	<ul id="menu" class="">
	
	{foreach from=$nodelist item=node}
		{if $node->depth > $node->prevdepth}
			{repeat string="<ul id='menu' class='level-$node->depth'>" 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->parent == true or ($node->current == true and $node->haschildren == true)}
		 <li class="level-{$node->depth} {$node->alias} parent current active"><a href="{$node->url}"{if $node->accesskey != ''} accesskey="{$node->accesskey}"{/if}{if $node->tabindex != ''} tabindex="{$node->tabindex}"{/if}{if $node->titleattribute != ''} title="{$node->titleattribute}"{/if}>{$node->menutext}</a>
		
		{elseif $node->haschildren == true}
		<li class="level-{$node->depth} {$node->alias} parent"><a href="{$node->url}"{if $node->accesskey != ''} accesskey="{$node->accesskey}"{/if}{if $node->tabindex != ''} tabindex="{$node->tabindex}"{/if}{if $node->titleattribute != ''} title="{$node->titleattribute}"{/if}>{$node->menutext}</a>
		
		{elseif $node->current == true}
		<li class="level-{$node->depth} {$node->alias} current"><a href="{$node->url}"{if $node->accesskey != ''} accesskey="{$node->accesskey}"{/if}{if $node->tabindex != ''} tabindex="{$node->tabindex}"{/if}{if $node->titleattribute != ''} title="{$node->titleattribute}"{/if}>{$node->menutext}</a>
		
		{elseif $node->type == 'sectionheader'}
		<li class="sectionheader {$node->alias}"><span>{$node->menutext}</span>
		
		{elseif $node->type == 'separator'}
		<li class="separator {$node->alias}"> <hr />
		
		{else}
		<li class="level-{$node->depth} {$node->alias}"><a href="{$node->url}"{if $node->accesskey != ''} accesskey="{$node->accesskey}"{/if}{if $node->tabindex != ''} tabindex="{$node->tabindex}"{/if}{if $node->titleattribute != ''} title="{$node->titleattribute}"{/if}{if $node->target != ''} target="{$node->target}"{/if}>{$node->menutext}</a>
	
	{/if}

{/foreach}
{repeat string="</li></ul>" times=$node->depth-1}</li>
</ul>
{/if}

Viele Grüße Andreas
__/\_|\/|_|-|__  --  designer not coder
nockenfell
Power Poster
Power Poster
Posts: 751
Joined: Fri Sep 12, 2008 2:34 pm

Re: Menumanager level ausgeben ($node->depth)

Post by nockenfell »

Probiere es mal so:

Code: Select all

{if $count > 0}
	<ul id="menu" class="">
	
	{foreach from=$nodelist item=node}
		{if $node->depth > $node->prevdepth}
                        {capture assign='ulebene'}<ul id='menu' class='level-{$node->depth}'>{/capture}
			{repeat string=$ulebene 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}
[this message is written with 100% recycled bits]
User avatar
amh
Forum Members
Forum Members
Posts: 187
Joined: Sun Apr 17, 2005 2:40 pm

Re: Menumanager level ausgeben ($node->depth)

Post by amh »

DU GOTT! *verneig*


H E R Z L I C H E N  D A N K !  ;D  ;D  ;D  ;D
__/\_|\/|_|-|__  --  designer not coder
nockenfell
Power Poster
Power Poster
Posts: 751
Joined: Fri Sep 12, 2008 2:34 pm

Re: [SOLVED] Menumanager level ausgeben ($node->depth)

Post by nockenfell »

Ein Gott bin ich auch nicht  ;D Aber Karma nehme ich gerne  ;)
[this message is written with 100% recycled bits]
User avatar
amh
Forum Members
Forum Members
Posts: 187
Joined: Sun Apr 17, 2005 2:40 pm

Re: [SOLVED] Menumanager level ausgeben ($node->depth)

Post by amh »

So, Karma gegeben :-)
__/\_|\/|_|-|__  --  designer not coder
Post Reply

Return to “Module und Tags”