Du bist nicht angemeldet. Der Zugriff auf einige Boards wurde daher deaktiviert.

#1 23. Mai 2012 13:08

nicmare
Server-Pate
Registriert: 15. Dezember 2010
Beiträge: 1.314
Webseite

[GELÖST] Menumanager: jeweils den letzten Node finden

Ich habe dieses Template:

{if $count > 0}
<ul class="clearfix">
{foreach from=$nodelist item=node name=foo}
{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->type == 'sectionheader'}
	<li class="sectionheader{if $node->menutext == "devider"} hide{/if}{if $node->current == true || $node->parent == true} selected{/if}{if $node->children_exist == true} children{/if}"><span class="sectionheader">{$node->menutext}</span>
{else}
	<li class="{if $smarty.foreach.foo.first} first{elseif $smarty.foreach.foo.last} last{/if}{if $node->children_exist == true} children{/if}{if $node->current == true || $node->parent == true} selected{/if}"><a href="{$node->url}{if $smarty.get.skin != ''}?skin={$smarty.get.skin}{/if}"{if $node->target ne ""} target="{$node->target}"{/if}{if $node->current == true || $node->parent == true} class="selected"{/if}>{$node->menutext}</a>
{/if}
{/foreach}
{repeat string="</li></ul>" times=$node->depth-1}</li>
</ul>
{/if}

Das erzeugt mir vom Prinzip her dieses Menü:

<ul>
	<li class="first"><a href="#">Link</a></li>
	<li><a href="#">Link</a>
		<ul>
			<li><a href="#">Link</a></li>
			<li><a href="#">Link</a></li>
			<li><a href="#">Link</a></li>
			<li><a href="#">Link</a></li>
		</ul>
	</li>
	<li><a href="#">Link</a></li>
	<li class="last"><a href="#">Link</a></li>
</ul>

also der erste und letzte Eintrag wird korrekt bezeichnet. Aber in der verschachtelten Liste fehlt jeweils der Eintrag was soweit auch logisch ist. Ich habe aber keine Idee wie ich diese auch ansprechen könnte.  cry
Im Ergebnis soll es also so werden:

<ul>
	<li class="first"><a href="#">Link</a></li>
	<li><a href="#">Link</a>
		<ul>
			<li class="first"><a href="#">Link</a></li>
			<li><a href="#">Link</a></li>
			<li><a href="#">Link</a></li>
			<li class="last"><a href="#">Link</a></li>
		</ul>
	</li>
	<li><a href="#">Link</a></li>
	<li class="last"><a href="#">Link</a></li>
</ul>

Beitrag geändert von nicmare (23. Mai 2012 13:08)

Offline

#2 23. Mai 2012 13:18

NaN
Moderator
Ort: Halle (Saale)
Registriert: 09. November 2010
Beiträge: 4.437

Re: [GELÖST] Menumanager: jeweils den letzten Node finden

Das Problem hatte wir doch schonmal, oder?
Wäre das eine Lösung für Dich: http://forum.cmsmadesimple.org/viewtopic.php?t=32500


Module: GBFilePicker, AdvancedContent
Sicherheit: Beispiel .htaccess-Datei
CMSms 1.12 unter PHP 7:
cmsms-1.12.3.zip (inoffiziell - komplett inkl. Installer)
CMSms 1.12 unter PHP 8:
cmsms-1.12.4.zip (inoffiziell - komplett inkl. Installer)

Offline

#3 23. Mai 2012 13:24

nicmare
Server-Pate
Registriert: 15. Dezember 2010
Beiträge: 1.314
Webseite

Re: [GELÖST] Menumanager: jeweils den letzten Node finden

oha, hatte ich damals nicht mitgekriegt. danke

Offline